如何完成opencv光照影响的批量处理

如何实现该链接https://blog.csdn.net/baidu_36669549/article/details/114157895?ops_request_misc=&request_id=&biz_id=102&utm_term=opencv%E5%85%89%E7%85%A7%E5%BD%B1%E5%93%8D%E6%89%B9%E9%87%8F%E5%A4%84%E7%90%86&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-.pc_search_result_control_group&spm=1018.2226.3001.4187的批量处理。


import cv2
import os

# 定义要处理的图像所在的文件夹路径以及输出结果的文件夹路径
img_folder = 'input_folder_path'
out_folder = 'output_folder_path'

# 遍历文件夹中的所有图像文件,对每张图像进行处理
for img_file in os.listdir(img_folder):
    img_path = os.path.join(img_folder, img_file)
    img = cv2.imread(img_path)

    # 图像处理代码
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    blur = cv2.GaussianBlur(gray, (5, 5), 0)
    edges = cv2.Canny(blur, 100, 200)

    out_path = os.path.join(out_folder, img_file)
    cv2.imwrite(out_path, edges)

在上面的代码中,os.listdir(img_folder)可以获取img_folder路径下的所有文件名,os.path.join可以将文件夹路径和文件名组合成完整的文件路径,cv2.imread可以读取图像文件,cv2.imwrite可以将处理后的图像保存为文件。

在图像处理的部分,首先使用cv2.cvtColor将图像转为灰度图像,然后使用cv2.GaussianBlur进行高斯滤波,最后使用cv2.Canny进行边缘检测,得到的边缘图像保存在out_path指定的输出结果文件夹中。可以根据具体需求进行调整和修改。