使用python,opencv,批量读取文件夹中的图像,提高它的亮度,保存在新的文件夹中
时间: 2024-02-20 07:57:53 浏览: 91
好的,可以使用Python的OpenCV库来实现这个功能。以下是代码示例:
```python
import cv2
import os
# 输入文件夹路径和输出文件夹路径
input_dir = "input_folder/"
output_dir = "output_folder/"
# 获取输入文件夹中的所有图像文件名
files = os.listdir(input_dir)
image_files = [f for f in files if f.endswith('.jpg') or f.endswith('.png')]
# 循环读取每张图像并提高亮度
for f in image_files:
# 读取图像
img = cv2.imread(os.path.join(input_dir, f))
# 提高亮度
img = cv2.addWeighted(img, 1.2, np.zeros(img.shape, img.dtype), 0, 0)
# 保存到输出文件夹
cv2.imwrite(os.path.join(output_dir, f), img)
```
在这个示例中,我们首先指定输入文件夹和输出文件夹的路径。然后使用`os.listdir()`函数获取输入文件夹中所有的文件名,使用列表推导式过滤出所有图像文件名。接着循环读取每张图像,使用`cv2.addWeighted()`函数提高图像的亮度,最后使用`cv2.imwrite()`函数将处理后的图像保存到输出文件夹中。
需要注意的是,在此代码示例中,我们使用了`cv2.addWeighted()`函数来提高图像的亮度,该函数的第一个参数是输入图像,第二个参数是亮度权重,这里设置为1.2表示提高20%的亮度。如果要降低亮度,则可以将权重设置为小于1的值。
阅读全文