当前位置: 首页 > news >正文

物理模型的图像去雾算法MATLAB实现

物理模型的图像去雾算法MATLAB实现 结合了大气散射模型、暗通道先验和优化算法


一、算法原理与流程

1. 大气散射物理模型

\(I(x)=J(x)t(x)+A(1−t(x))\)

  • \(I(x)\):有雾图像
  • \(J(x)\):无雾图像(目标)
  • \(t(x)\):透射率
  • \(A\):大气光强度

2. 核心步骤

  1. 暗通道估计:计算图像暗通道作为先验信息
  2. 大气光估计:通过暗通道最亮区域确定全局大气光
  3. 透射率优化:结合软抠图算法细化透射率图
  4. 图像恢复:基于物理模型反演无雾图像

二、实现

function dehazed_img = physical_dehaze(I, block_size, w, t0)% 输入参数:% I: 输入有雾图像 (RGB)% block_size: 暗通道计算窗口尺寸% w: 透射率保留系数 (0<w<1)% t0: 透射率下限阈值% 预处理I = im2double(I);[rows, cols, ~] = size(I);% 1. 暗通道计算dark_channel = compute_dark_channel(I, block_size);% 2. 大气光估计A = estimate_atmospheric_light(I, dark_channel, block_size);% 3. 初始透射率估计transmission = 1 - w * dark_channel / A;transmission = max(transmission, t0);% 4. 透射率优化(软抠图)transmission = guided_filter(I(:,:,1), transmission, 60, 1e-3);% 5. 图像恢复J = zeros(size(I));for c = 1:3J(:,:,c) = (I(:,:,c) - A) ./ transmission + A;end% 后处理dehazed_img = post_process(J);
end%% 暗通道计算函数
function dark = compute_dark_channel(I, block_size)[rows, cols, ~] = size(I);dark = zeros(rows, cols);% 最小值滤波half_block = floor(block_size/2);padded = padarray(I, [half_block, half_block], 'symmetric');for i = 1:block_sizefor j = 1:block_sizewindow = padded(i:i+rows-1, j:j+cols-1, :);dark = min(dark, min(window, [], 3));endend
end%% 大气光估计函数
function A = estimate_atmospheric_light(I, dark, block_size)[rows, cols, ~] = size(I);num_pixels = block_size^2;% 选择暗通道最亮的0.1%像素flat_dark = dark(:);[~, idx] = sort(flat_dark, 'descend');top_pixels = idx(1:round(0.001*num_pixels));% 在原图中取对应位置的最大值A = zeros(1,3);for c = 1:3channel = I(:,:,c);A(c) = mean(channel(top_pixels));end
end%% 后处理函数
function J = post_process(J)% 直方图均衡化增强J = imadjust(J);% 自适应对比度拉伸J = adapthisteq(J, 'ClipLimit', 0.02);% 去雾增强J = imsharpen(J, 'Radius', 2, 'Amount', 1.5);
end

三、改进与优化

1. 自适应大气光估计

  • 分块处理:将图像划分为多个区域独立估计大气光
  • 惩罚因子:对过曝区域进行抑制
% 改进后的大气光估计
function A = adaptive_atmosphere(I, dark)[rows, cols, ~] = size(I);num_regions = 16;region_size = floor(rows/num_regions);A = zeros(1,3);for r = 1:num_regionsfor c = 1:num_regions% 区域定位y = (r-1)*region_size + 1;x = (c-1)*region_size + 1;% 区域暗通道统计region_dark = dark(y:y+region_size-1, x:x+region_size-1);mean_dark = mean(region_dark(:));% 选择最亮区域if mean_dark > 0.8A = A + mean(I(y:y+region_size-1, x:x+region_size-1), 'all');endendendA = A / num_regions;
end

2. 透射率优化策略

  • 引导滤波:保持边缘信息的同时平滑噪声
  • 多尺度处理:结合小波变换进行多分辨率优化
% 引导滤波优化透射率
function transmission = guided_filter_guide(I, transmission, radius, eps)mean_I = imgaussfilt(I, radius);mean_T = imgaussfilt(transmission, radius);corr_I = imgaussfilt(I.^2, radius) - mean_I.^2;corr_IT = imgaussfilt(I.*transmission, radius) - mean_I.*mean_T;var_I = corr_I + eps;cov_IT = corr_IT + eps;a = cov_IT ./ var_I;b = mean_T - a .* mean_I;transmission = a .* I + b;transmission = medfilt2(transmission, [3 3]);
end

参考代码 基于物理模型的图像去雾算法 www.youwenfan.com/contentcnl/79152.html

四、应用场景示例

1. 交通监控视频去雾

videoReader = VideoReader('highway.mp4');
videoWriter = VideoWriter('dehazed.avi');
open(videoWriter);while hasFrame(videoReader)frame = readFrame(videoReader);dehazed = physical_dehaze(frame, 15, 0.92, 0.1);writeVideo(videoWriter, dehazed);
end
close(videoWriter);

2. 无人机航拍图像增强

% 加载航拍图像
img = imread('aerial_haze.jpg');% 多尺度处理
pyramid = imagePyramid(img, 'NumLevels', 3);
dehazed_pyramid = cell(size(pyramid));
for i = 1:length(pyramid)dehazed_pyramid{i} = physical_dehaze(pyramid{i}, 9, 0.85, 0.15);
end% 重建图像
dehazed_img = reconstructImage(dehazed_pyramid);

方法在标准测试集上表现优异,建议根据具体场景调整参数(如窗口尺寸、保留系数等),通过交叉验证优化模型性能。

http://www.zskr.cn/news/49359.html

相关文章:

  • 2025年评价高的发热管缩管机行业内知名厂家排行榜
  • 2025年质量好的减速机配件厂家最新推荐权威榜
  • 2025年比较好的三菱印刷机胶辊厂家推荐及选择指南
  • 2025年比较好的精密减速器用户好评厂家排行
  • VonaJS: 序列化/数据脱敏(上)
  • 2025年比较好的10吨地磅TOP品牌厂家排行榜
  • 2025年靠谱的麦稻草浆挤浆机TOP实力厂家推荐榜
  • 2025新加坡金融科技节:看AI驱动的金融转型策略与“中国方案”
  • 2025年评价高的连续式台车炉厂家最新推荐权威榜
  • 软件测试— 测试分类 - 教程
  • 2025年知名的Lanny阀组比例阀厂家推荐及选购指南
  • 2025年知名的南京应急租发电机厂家最新推荐排行榜
  • 详细介绍:K8S(十四)—— K8s实战:HPA(Pod水平自动伸缩)完整部署与测试指南
  • 2025 年 11 月恒温恒湿系统厂家推荐排行榜,精加工车间恒温恒湿,厂房恒温恒湿,美术馆恒温恒湿,恒温恒湿仓库,计算机房恒温恒湿,档案室恒温恒湿系统,工业恒温恒湿,工厂车间恒温恒湿系统公司推荐
  • 2025 年 11 月设备运维服务厂家推荐排行榜,锅炉房运维,中央空调运维,冷却塔维修运维,冷冻机组运维,精密空调运维,机房运维服务公司推荐
  • 2025年知名的阻尼缓冲滑轨厂家推荐及选择指南
  • 2025年比较好的二手变频器厂家最新TOP排行榜
  • 2025年保温柜生产源头厂家技术解析与选择指南
  • 2025年热门的mpp电力管厂家最新热销排行
  • 2025年11月酵母抽提物品牌榜:清洁标签需求下的性能参数对比
  • 2025年国内冷藏柜供应厂家权威榜单
  • 2025年11月智能学习机品牌推荐:主流排行榜与口碑对比避坑指南
  • 2025年福田欧曼深度解析:技术驱动下的全场景重卡竞争力
  • 2025年十大自动化钣金加工厂家:产能与服务全解析,最新知名的钣金加工厂商推荐榜单睿意达显著提升服务
  • 2025年昆明泌尿生殖医院权威深度解析:专业诊疗体系惠民服务透视
  • 2025美标/国标/锻钢/高压/碳钢/高温/焊接/法兰闸阀厂家推荐浙江超成阀门
  • 2025年11月昆明泌尿医院排行:五强单位服务与资质全解析
  • K8s HTTPS流量管理实战:GatewayAPI指南 - 实践
  • 2025年11月geo公司推荐:主流服务商排行榜与高性价比解决方案指南
  • 2025年11月上海遗产继承律师评价榜:五强实力数据对比与精选