import numpy as np
import cv2
import os

def replaceZeroes(data):
    min_nonzero = min(data[np.nonzero(data)])
    data[data == 0] = min_nonzero
    return data

def SSR(src_img, size):
    L_blur = cv2.GaussianBlur(src_img, (size, size), 0)
    img = replaceZeroes(src_img)
    L_blur = replaceZeroes(L_blur)

    dst_Img = cv2.log(img/255.0)
    dst_Lblur = cv2.log(L_blur/255.0)
    dst_IxL = cv2.multiply(dst_Img,dst_Lblur)
    log_R = cv2.subtract(dst_Img, dst_IxL)

    dst_R = cv2.normalize(log_R,None,0,255,cv2.NORM_MINMAX)
    log_uint8 = cv2.convertScaleAbs(dst_R)
    return log_uint8

def batch_process_images(input_folder, output_folder, size):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    for filename in os.listdir(input_folder):
        if filename.endswith('.png') or filename.endswith('.jpg'):
            img_path = os.path.join(input_folder, filename)
            src_img = cv2.imread(img_path)
            b_gray, g_gray, r_gray = cv2.split(src_img)
            b_gray = SSR(b_gray, size)
            g_gray = SSR(g_gray, size)
            r_gray = SSR(r_gray, size)
            result = cv2.merge([b_gray, g_gray, r_gray])

            output_path = os.path.join(output_folder, filename)
            cv2.imwrite(output_path, result)

if __name__ == '__main__':
    input_folder = './gggg'
    output_folder = './processed_images'
    size = 3
    batch_process_images(input_folder, output_folder, size)

该代码使用 SSR 算法对图片进行细节增强,并实现了批量处理图片的功能。具体步骤如下:

  1. 定义 replaceZeroes 函数:该函数将图像中值为 0 的像素替换为最小非零值,防止出现除零错误。
  2. 定义 SSR 函数:该函数实现 SSR 算法,对输入图像进行细节增强处理。
  3. 定义 batch_process_images 函数:该函数接收输入文件夹、输出文件夹和核大小参数,对输入文件夹中的所有图片进行处理,并将处理后的图片保存到输出文件夹中。
  4. 主函数 if __name__ == '__main__'::定义输入文件夹、输出文件夹和核大小,并调用 batch_process_images 函数进行批量处理。

通过上述步骤,该代码可以对指定文件夹中的所有图片进行 SSR 算法处理,并保存处理后的图片到另一个文件夹。

注意:

  • 需要确保 opencv-python 库已安装。
  • 可以根据需要修改输入文件夹、输出文件夹和核大小参数。
  • 为了更好地理解代码,可以参考 SSR 算法的原理和相关资料。
  • 此代码仅供参考,您可以根据自己的需求进行修改和完善。
批量图片处理:使用 SSR 算法增强图像细节

原文地址: https://www.cveoy.top/t/topic/pgRW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录