基于多尺度大气光的夜间去雾算法设计与实现

基于多尺度大气光的夜间去雾算法设计与实现


1. 算法核心思想

针对夜间场景中人工光源干扰、环境光分布不均及噪声显著的特点,提出多尺度大气光估计与自适应透射率优化的夜间去雾框架。通过融合低频环境光分布与高频细节特征,解决传统方法在夜间场景中的伪光晕、色彩失真和细节丢失问题。


2. 关键技术模块

2.1 多尺度环境光估计
2.2 自适应大气光融合
2.3 多尺度透射率估计
2.4 复原模型优化

3. 核心创新点

3.1 动态环境光建模
3.2 混合滤波策略
3.3 色彩恢复机制

4. MATLAB实现代码

function dehazed = multi_scale_dehaze(Img)
    % 参数设置
    levels = 3;  % 分解层数
    lambda = 0.1;  // 正则化参数
    
    % 多尺度分解
    [cA, cH, cV, cD] = dftmtx2(Img, levels);
    
    % 环境光估计
    A_low = medfilt2(cA, [5,5]);
    A_med = wiener2(cH, [3,3]);
    A_high = imgaussfilt(cD, 1);
    
    % 自适应融合
    weight = [0.6, 0.3, 0.1];
    A = weight(1)*A_low + weight(2)*A_med + weight(3)*A_high;
    
    % 透射率估计
    dark = min(Img(:,:,1:3), [], 3);
    t = 1 - 0.95*(dark/max(dark(:)));
    t = guided_filter(Img, t, 8, 0.01);
    
    % 图像复原
    J = (Img - A)./max(t, 0.1) + A;
    
    % 色彩校正
    J = hsv2rgb(rgb2hsv(J));
    dehazed = imadjust(J);
end

参考代码 基于多尺度大气光的夜间去雾算法 www.youwenfan.com/contentcni/65716.html

5. 应用场景优化

5.1 低能见度监控
5.2 自动驾驶系统
5.3 航空摄影测量

 

专注于matlab/simulink,电子电路,编程