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

时间:2019-04-06 15:05:44

标签: python python-3.x opencv

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

我认为的工作流程如下:

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

②标记已加载的图像

③将已加载的图像文件拆分为image_data和label_data。

④最后,将image_data拆分为image_train_data和image_test_data,并将label_data拆分为label_train_data和label_test_data。

但是,第一步(①)进行得并不顺利。

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

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

我写了以下代码。

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

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

1 个答案:

答案 0 :(得分:0)

## 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))