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



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

我认为的工作流程如下:

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

(2(标记加载的图像

(3(将加载的图像文件拆分为image_data和label_data。

(4(最后,image_data拆分为image_train_data和image_test_data,label_data拆分为label_train_data和label_test_data。

但是,第一步((1((并不顺利。

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

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

我写了以下代码。

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_folderimages*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))

最新更新