for i in range(len(img_paths)): #H_img_gray[i] = Image.open(img_paths[i]).convert('L') img_png[i] = cv2.imread(img_paths[i])后边批量处理图片python代码
时间: 2023-12-17 19:03:57 浏览: 99
如果你想在这段代码的基础上继续批量处理图片,可以在循环中加入相应的处理操作。以下是一个简单的示例,演示了如何对每张灰度图像进行二值化处理,并将处理后的结果保存到指定目录下:
```python
import cv2
import os
# 指定图片目录和输出目录
img_dir = 'path/to/images/'
out_dir = 'path/to/output/'
# 获取图片路径列表
img_paths = [os.path.join(img_dir, fname) for fname in os.listdir(img_dir) if fname.endswith('.jpg')]
# 批量读取图片并转换为灰度图像
img_gray = [cv2.imread(fname, cv2.IMREAD_GRAYSCALE) for fname in img_paths]
# 批量对灰度图像进行二值化处理
threshold = 127
img_binary = [cv2.threshold(img, threshold, 255, cv2.THRESH_BINARY)[1] for img in img_gray]
# 批量保存处理后的图片
for i, img in enumerate(img_binary):
fname = os.path.basename(img_paths[i])
out_path = os.path.join(out_dir, fname)
cv2.imwrite(out_path, img)
```
上述代码中,我们首先指定了图片目录和输出目录,然后使用os.listdir函数遍历图片目录,获取所有以'.jpg'结尾的图片文件。接着,我们使用cv2.imread函数批量读取图片,并将其转换为灰度图像。然后,我们使用cv2.threshold函数对每张灰度图像进行二值化处理,将像素值大于127的像素设为255,将像素值小于等于127的像素设为0。最后,我们使用cv2.imwrite函数将处理后的结果保存到输出目录中。
阅读全文