gpt4 book ai didi

python - 如何从python中的多个文件夹中读取多个图像

转载 作者:太空宇宙 更新时间:2023-11-03 22:20:59 26 4
gpt4 key购买 nike

我正在使用 anaconda 在 python 3.6 中编写图像识别程序。我将图像数据集存储在位置 E:\food-101\images 中,其中“图像”文件夹包含多个子文件夹包含照片。我想使用这些图像来训练我的机器学习模型。我能够加载(读取)存储在 E:\中的单个图像我想从上述路径加载多个图像我该如何继续?我正在使用 opencv。我的代码如下任何帮助表示赞赏

import cv2
import matplotlib
import numpy
img = cv2.imread("E:\food\images\chicken_wings\a.jpg",cv2.IMREAD_GRAYSCALE)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

出现以下错误

Traceback (most recent call last):

File "<ipython-input-8-6310b5f3028e>", line 5, in <module>
cv2.imshow('image',img)

error: OpenCV(3.4.1) C:\bld\opencv_1520732670222\work\opencv-3.4.1\modules\highgui\src\window.cpp:356: error: (-215) size.width>0 && size.height>0 in function cv::imshow


Traceback (most recent call last):

File "<ipython-input-8-6310b5f3028e>", line 5, in <module>
cv2.imshow('image',img)

error: OpenCV(3.4.1) C:\bld\opencv_1520732670222\work\opencv-3.4.1\modules\highgui\src\window.cpp:356: error: (-215) size.width>0 && size.height>0 in function cv::imshow

最佳答案

一个简单的方法是安装 Glob。您可以使用 pip install glob 在 anaconda 提示符下执行此操作。

Glob 允许您像在终端中一样查询文件。一旦你有了 Glob,你就可以将所有文件名保存到一个列表中,然后循环遍历这个列表,将你的图像(NumPy 数组)读取到一个新列表中。

import cv2
import numpy
import glob

folders = glob.glob('path\\to\\folder\\containing\\folders\\*')
imagenames_list = []
for folder in folders:
for f in glob.glob(folder+'/*.jpg'):
imagenames_list.append(f)

read_images = []
for image in imagenames_list:
read_images.append(cv2.imread(image, cv2.IMREAD_GRAYSCALE))

然后您可以通过索引来访问图像,即

plt.imshow(read_images[0])

关于python - 如何从python中的多个文件夹中读取多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49537604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com