Python 如何使用openCV高效地从文件夹中加载许多图像

Python 如何使用openCV高效地从文件夹中加载许多图像,python,python-3.x,opencv,Python,Python 3.x,Opencv,我试图为机器学习创建自己的图像数据集 我认为工作流程如下: ①将所有图像文件作为数组加载到文件夹中 ②为加载的图像添加标签 ③将加载的图像文件拆分为图像数据和标签数据 ④最后,将图像数据拆分为图像训练数据和图像测试数据,并将标签数据拆分为标签训练数据和标签测试数据 然而,第一步并不顺利(①). 如何有效地加载所有图像数据 如果您根据此工作流实现机器学习的图像数据集,您将如何处理它 我编写了以下代码 cat_im = cv2.imread("C:\\Users\\path\\cat1.jpg")

我试图为机器学习创建自己的图像数据集

我认为工作流程如下:

①将所有图像文件作为数组加载到文件夹中

②为加载的图像添加标签

③将加载的图像文件拆分为图像数据和标签数据

④最后,将图像数据拆分为图像训练数据和图像测试数据,并将标签数据拆分为标签训练数据和标签测试数据

然而,第一步并不顺利(①).

如何有效地加载所有图像数据

如果您根据此工作流实现机器学习的图像数据集,您将如何处理它

我编写了以下代码

cat_im = cv2.imread("C:\\Users\\path\\cat1.jpg")

但是,我是被迫写\cat1.jpg、\cat2.jpg、\cat3.jpg……?

标签在哪里?
## you can find all images like extenstion
import os,cv2
import glob
all_images_path= glob.glob('some_folder\images\*png') ## it gives path of images as list   

## then you can loop over all files
loaded_images  = []
for image_path in all_images_path:
    image = cv2.imread(image_path)
    loaded_images.append(image)

## lets assume your labels are just name of files and its like cat1.png,cat2.png etc
labels = []
for image_path in all_images_path:
    labels.append(os.basename(image_path))