【python+opencv】批量读取一个文件夹下所有的图片并处理

利用python批量读取一个文件夹中的所有图片,之后利用opencv对这些图片进行灰度处理,步骤如下:

  1. 该文件夹中本身待处理的图片,可以看到是RGB图:
    在这里插入图片描述

  2. 代码:

import cv2
import os

def read_path(file_pathname):
    #遍历该目录下的所有图片文件
    for filename in os.listdir(file_pathname):
        print(filename)
        img = cv2.imread(file_pathname+'/'+filename)
        ####change to gray
      #(下面第一行是将RGB转成单通道灰度图,第二步是将单通道灰度图转成3通道灰度图)
        img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
        image_np=cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
        #####save figure
        cv2.imwrite('*/grayvoc/trainval/VOCdevkit/VOC2007/JPEGImages'+"/"+filename,image_np)       

#注意*处如果包含家目录(home)不能写成~符号代替 
#必须要写成"/home"的格式,否则会报错说找不到对应的目录
#读取的目录
read_path("*/grayvoc/trainval/VOCdevkit/VOC2007/JPEGImages")
#print(os.getcwd())
  1. 运行完成上述代码后,可以观察到该目录下的所有图片都是灰度图:
    在这里插入图片描述
    ps:本文这么做目的是将VOC数据集的所有RGB图片都转成灰度图~

猜你喜欢

转载自blog.csdn.net/qq_43348528/article/details/106611734