Python 遍历目录和子目录中的所有图像,以执行单个图像的平均强度
如果图像位于单个目录中,下面的代码可以正常工作Python 遍历目录和子目录中的所有图像,以执行单个图像的平均强度,python,Python,如果图像位于单个目录中,下面的代码可以正常工作 from skimage import io, img_as_float import matplotlib.image as mpimg import os import pandas as pd def load_images(folder): images = [] data = [] for filename in os.listdir(folder): img =
from skimage import io, img_as_float
import matplotlib.image as mpimg
import os
import pandas as pd
def load_images(folder):
images = []
data = []
for filename in os.listdir(folder):
img = mpimg.imread(os.path.join(folder, filename))
img = img_as_float(img)
if img is not None:
images.append(img)
if(np.mean(img) < 0.1):
print filename
data.append((folder, filename))
df = pd.DataFrame(data, columns=['Folder', 'File'])
return df
df = load_images('C:/Data/Testing')
df.to_csv('final.csv')
从skimage导入io,img_作为浮点数
将matplotlib.image导入为mpimg
导入操作系统
作为pd进口熊猫
def load_图像(文件夹):
图像=[]
数据=[]
对于os.listdir(文件夹)中的文件名:
img=mpimg.imread(os.path.join(文件夹,文件名))
img=img\u作为浮点数(img)
如果img不是无:
images.append(img)
如果(np.平均值(img)<0.1):
打印文件名
data.append((文件夹,文件名))
df=pd.DataFrame(数据,列=['Folder','File'])
返回df
df=加载图像('C:/数据/测试')
df.to_csv('final.csv'))
如果我的“C:/Data/Testing”文件夹有许多子文件夹,并且子文件夹中有图像文件,如何处理它?如果有人正在查看此问题,以下是答案:
from skimage import io, img_as_float
import matplotlib.image as mpimg
import os
import pandas as pd
def load_images(n):
images = []
data = []
for dirs in n:
for filename in os.listdir(dirs):
img = mpimg.imread(os.path.join(dirs, filename))
img = img_as_float(img)
if img is not None:
images.append(img)
if(np.mean(img) < 0.1):
print filename
data.append((dirs, filename))
df = pd.DataFrame(data, columns=['Folder', 'File'])
return df
from glob import glob
folder = glob("C:/Data/Testing/*/")
df = load_images(folder)
从skimage导入io,img_作为浮点数
将matplotlib.image导入为mpimg
导入操作系统
作为pd进口熊猫
def加载_图像(n):
图像=[]
数据=[]
对于n中的dir:
对于os.listdir(dirs)中的文件名:
img=mpimg.imread(os.path.join(dirs,filename))
img=img\u作为浮点数(img)
如果img不是无:
images.append(img)
如果(np.平均值(img)<0.1):
打印文件名
data.append((目录,文件名))
df=pd.DataFrame(数据,列=['Folder','File'])
返回df
从全局导入全局
folder=glob(“C:/Data/Testing/*/”)
df=加载_图像(文件夹)
我希望这能有所帮助。如果有人看到这个问题,下面是答案:
from skimage import io, img_as_float
import matplotlib.image as mpimg
import os
import pandas as pd
def load_images(n):
images = []
data = []
for dirs in n:
for filename in os.listdir(dirs):
img = mpimg.imread(os.path.join(dirs, filename))
img = img_as_float(img)
if img is not None:
images.append(img)
if(np.mean(img) < 0.1):
print filename
data.append((dirs, filename))
df = pd.DataFrame(data, columns=['Folder', 'File'])
return df
from glob import glob
folder = glob("C:/Data/Testing/*/")
df = load_images(folder)
从skimage导入io,img_作为浮点数
将matplotlib.image导入为mpimg
导入操作系统
作为pd进口熊猫
def加载_图像(n):
图像=[]
数据=[]
对于n中的dir:
对于os.listdir(dirs)中的文件名:
img=mpimg.imread(os.path.join(dirs,filename))
img=img\u作为浮点数(img)
如果img不是无:
images.append(img)
如果(np.平均值(img)<0.1):
打印文件名
data.append((目录,文件名))
df=pd.DataFrame(数据,列=['Folder','File'])
返回df
从全局导入全局
folder=glob(“C:/Data/Testing/*/”)
df=加载_图像(文件夹)
我希望这会有所帮助。您似乎忽略了上面的注释,这些注释解释了您可以对单个目录使用
os.scandir
,或者使用os.walk
递归扫描其所有子目录。一个小时后,这句话仍然正确,它准确地告诉了你现在该怎么做。@abarnert Ohh可能跳过了它,让我试试你的建议。你似乎忽略了上面的注释,这些注释解释了你可以对单个目录使用os.scandir
,或者使用os.walk
递归扫描其所有子目录。一个小时后,这句话仍然正确,它准确地告诉了你现在要做什么。@abarnert Ohh可能已经跳过了,让我试试你推荐的。。