利用python批量读取一个文件夹中的所有图片,之后利用opencv对这些图片进行灰度处理,步骤如下:
-
该文件夹中本身待处理的图片,可以看到是RGB图:
-
代码:
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())
- 运行完成上述代码后,可以观察到该目录下的所有图片都是灰度图:
ps:本文这么做目的是将VOC数据集的所有RGB图片都转成灰度图~