python+opencv修改文件夹中图片亮度并保存至另一文件夹
时间: 2023-12-30 14:05:57 浏览: 39
答案:可以使用 OpenCV 中的 cv2.imread() 和 cv2.imwrite() 函数读取和保存图片,使用 cv2.addWeighted() 函数调整亮度。具体代码如下:
```python
import cv2
import os
# 输入文件夹和输出文件夹路径
input_dir = "input/"
output_dir = "output/"
# 获取输入文件夹中所有图片的路径
image_paths = [os.path.join(input_dir, f) for f in os.listdir(input_dir) if f.endswith(".jpg")]
# 调整亮度并保存图片
for image_path in image_paths:
img = cv2.imread(image_path)
brightness = 50 # 亮度调整值
new_img = cv2.addWeighted(img, 1, img, 0, brightness)
output_path = os.path.join(output_dir, os.path.basename(image_path))
cv2.imwrite(output_path, new_img)
```
希望能对您有所帮助!
相关问题
使用python,opencv,批量读取文件夹中的图像,提高它的亮度,保存在新的文件夹中
好的,可以使用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的值。
python opencv 批量处理图片代码
很高兴回答你的问题,以下是一段 Python OpenCV 批量处理图片的代码示例:
```
import cv2
import glob
# 获取文件夹内所有图片文件的路径
img_paths = glob.glob('images/*.jpg')
for img_path in img_paths:
# 读取图片
img = cv2.imread(img_path)
# 处理图片,例如调整亮度、裁剪等操作
# ...
# 保存处理后的图片
cv2.imwrite('processed_images/' + img_path.split('/')[-1], img)
```
希望对你有所帮助!