给图像加上一层雾并保存

本文参考了数据增强:图片加雾效果实现Python

import cv2, math
import numpy as np
 
def demo(img_path,img_save_path):
    img = cv2.imread(img_path)
    print(img.dtype)
    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)
    //转换格式,防止在保存时出现图片全黑的情况
    img_f = cv2.normalize(img_f, None, 0, 255, cv2.NORM_MINMAX, cv2.CV_8U)
    cv2.imwrite(img_save_path,img_f)
 
if __name__ == '__main__':
    demo("beijing.jpg","beijing_fog.jpg")

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44932835/article/details/109169539