批量去雾的代码

本文介绍了如何使用Python实现一种批量图像去雾算法,通过应用先进的图像处理技术,有效去除图像中的雾气,提升图像清晰度。内容包括预处理、去雾算法的详细步骤以及后期处理,适合对图像处理感兴趣的读者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import os
from PIL import Image
import numpy as np

def haze_removal(image, windowSize=24, w0=0.6, t0=0.1):
    darkImage = image.min(axis=2)
    maxDarkChannel = darkImage.max()
    darkImage = darkImage.astype(np.double)

    t = 1 - w0 * (darkImage / maxDarkChannel)
    T = t * 255
    T.dtype = 'uint8'

    t[t < t0] = t0

    J = image
    J[:, :, 0] = (image[:, :, 0] - (1 - t) * maxDarkChannel) / t
    J[:, :, 1] = (image[:, :, 1] - (1 - t) * maxDarkChannel) / t
    J[:, :, 2] = (image[:, :, 2] - (1 - t) * maxDarkChannel) / t
    result = Image.fromarray(J)

    return result

if __name__ == '__main__':
    # 源图片文件夹路径
    dirname_read = "F:/images1/"
    # 新图片文件夹路径
    dirname_write = "F:/images2/"

    names = os.listdir(dirname_read)
    count = 1
    
    for name in names:
        image = np.array(Image.open(dirname_read + name))
        imageSize = image.shape
        result = haze_removal(image)

        to_save_path = dirname_write + name
        result.save(to_save_path)
        print(to_save_path, "------conut:", count)
        count += 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值