python批量实现图片雾化处理

import os

filePath = '图片地址'
filenames = os.listdir(filePath)

outputPath = '保存的图片地址'

#     img_path = 'test.png'
#     img = cv2.imread(img_path)
#     img_f = img / 255.0
#     (row, col, chs) = img.shape
for filename in filenames:
    print(filename)
    img = cv2.imread(filePath+filename)
    img_f = img / 255.0
    (row, col, chs) = img.shape

    A = 0.5  # 亮度
    beta = 0.08  # 雾的浓度
    size = math.sqrt(max(row, col))  # 雾化尺寸
    center = (row // 2, col // 2)  # 雾化中心
    for j in range(row):
        for l in range(col):
            d = -0.04 * math.sqrt((j - center[0]) ** 2 + (l - center[1]) ** 2) + size
            td = math.exp(-beta * d)
            img_f[j][l][:] = img_f[j][l][:] * td + A * (1 - td)

    cv2.imwrite(outputPath+filename, img_f*255)

猜你喜欢

转载自blog.csdn.net/qq_42264030/article/details/120234191