python拉普拉斯算子批量图像增强
时间: 2023-11-05 11:00:51 浏览: 84
拉普拉斯算子用于图像增强
3星 · 编辑精心推荐
作为一个AI语言模型,我可以提供相关的Python代码示例:
```
import cv2
import numpy as np
import os
# 拉普拉斯算子增强图像的函数
def laplacian_enhancement(image):
kernel = np.array([[0,-1,0],[-1,5,-1],[0,-1,0]])
dst = cv2.filter2D(image, -1, kernel)
return dst
# 批量处理图像的函数
def batch_process_images(src_path, dst_path):
if not os.path.exists(dst_path):
os.mkdir(dst_path)
for file_name in os.listdir(src_path):
if file_name.endswith('.jpg') or file_name.endswith('.png'):
file_path = os.path.join(src_path, file_name)
image = cv2.imread(file_path)
dst = laplacian_enhancement(image)
dst_file_path = os.path.join(dst_path, file_name)
cv2.imwrite(dst_file_path, dst)
# 测试
if __name__ == '__main__':
src_path = 'source_images'
dst_path = 'enhanced_images'
batch_process_images(src_path, dst_path)
```
以上代码实现了拉普拉斯算子批量图像增强的功能。具体实现步骤如下:
1. 定义 `laplacian_enhancement` 函数,实现拉普拉斯算子增强图像的功能。
2. 定义 `batch_process_images` 函数,实现批量处理图像的功能。该函数遍历源目录下的所有图像文件,对每个文件调用 `laplacian_enhancement` 函数进行图像增强,并将增强后的图像写入目标目录。
3. 在 `__main__` 函数中测试 `batch_process_images` 函数,将源目录和目标目录指定为 `source_images` 和 `enhanced_images`。
使用时需要将源图像放到 `source_images` 目录下,并确保该目录存在;程序将增强后的图像保存到 `enhanced_images` 目录中。
希望以上代码对你有帮助,如有疑问请随时提出。
阅读全文