python给图片加雾

调用的是cv2的addWeighted函数,增雾结果来看效果还蛮不错的

import numpy as np
import cv2 as cv
import os
import random

file = 'C:\\Users\\Ilearn\\Desktop\\new_images\\clear\\'

for file_img in os.listdir(file): # 需要处理的文件夹
    img = cv.imread(file + file_img) # 需要处理的文件夹
    mask_img = cv.imread(file + file_img)  # 需要处理的文件夹
    # mask_img=np.zeros((img.shape[1], img.shape[0]), dtype=np.uint8)
    # mask_img[:, :] = (144, 128, 112)  # 112, 128, 144 RGB
    mask_img[:, :] = (166, 178, 180) # 雾的颜色
    # cv.imwrite('./rtimg.jpg', mask_img)
    # area = [[0, 0], [0, img.shape[0]], [img.shape[1], img.shape[0]], [img.shape[1], 0]]
    # mask_img = cv.fillConvexPoly(mask_img, np.array(area, np.int32)[[]], (255, 255, 0))
    image = cv.addWeighted(img, round(random.uniform(0.03, 0.28), 2), mask_img, 1, 0) # 里面参数可调,主要调整雾的浓度
    #
    cv.imwrite('haze\\' + file_img, image) # 保存的文件夹

浓度可以自己调,不同的像素图片对应的浓度区间也有所不同。需要调整下试试看

  • 1
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值