python 读取文件夹所有图像进行伽马增强并批量保存
时间: 2023-09-05 08:06:40 浏览: 150
以下是一个Python程序,可以读取指定文件夹中的所有图像文件,对它们进行伽马增强,并批量保存到指定目录中:
```python
import os
import cv2
def gamma_correction(img, gamma=1.0):
inv_gamma = 1.0 / gamma
table = (255 * (img / 255) ** inv_gamma).astype('uint8')
return table
def batch_gamma_correction(src_folder, dst_folder, gamma=1.0):
if not os.path.exists(dst_folder):
os.makedirs(dst_folder)
for file_name in os.listdir(src_folder):
if file_name.endswith('.jpg') or file_name.endswith('.jpeg') or file_name.endswith('.png'):
src_path = os.path.join(src_folder, file_name)
dst_path = os.path.join(dst_folder, file_name)
print(f"Processing {src_path}...")
img = cv2.imread(src_path)
img_gamma = gamma_correction(img, gamma)
cv2.imwrite(dst_path, img_gamma)
if __name__ == '__main__':
src_folder = '/path/to/src/folder'
dst_folder = '/path/to/dst/folder'
gamma = 2.0
batch_gamma_correction(src_folder, dst_folder, gamma)
```
在上面的程序中,我们定义了一个`gamma_correction`函数来进行伽马增强。此函数接受一个图像和一个伽马值作为参数,并返回一个增强后的图像。然后,我们定义了一个`batch_gamma_correction`函数,它接受源文件夹路径、目标文件夹路径和伽马值作为参数。此函数遍历源文件夹中的所有图像文件,并使用`gamma_correction`函数对它们进行伽马增强,并将增强后的图像保存到目标文件夹中。最后,我们在主函数中调用`batch_gamma_correction`函数,并传入源文件夹路径、目标文件夹路径和伽马值。
阅读全文