我在从python中的多个目录中读取图像时遇到了问题。就像png格式的单个图像一样,它位于多个文件夹中。我想在其上保持一个for循环,然后从每个文件夹中访问图像。那么从特定文件夹中读取这些图像的方法是什么?
import os
from os import listdir
from os.path import isfile, join
import sys
import cv2
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import glob
%matplotlib inline
mypath='E:/Datasets/CBIS-DDSM PNG/Converted_Test'
onlyfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ]
images = np.empty(len(onlyfiles), dtype=object)
for n in range(0, len(onlyfiles)):
images[n] = cv2.imread( join(mypath,onlyfiles[n]) )
也许你应该尝试另一种方法来达到阅读图像的目录。在imread()
你可以传递目录。所以你可以使用str()
和+
来组合动态目录和固定目录。以下示例可能对您有所帮助:
path = '/home/pictures/1'
for i in range(2) :
image = cv2.imread(str(path)+'1'+'/222.jpg')
plt.imshow(image)
plt.show()
在这个例子中我有2个文件夹11
和12
所以使用for循环我更改了我需要的文件夹。