来自09年的TPAMI DOI: 10.1109/TPAMI.2010.168
作者:ResNet发明人 何恺明;旷视原首席科学家 孙剑;商汤创始人 汤晓鸥
figure('Name','Dark Channel Prior');
I = imread('改成你自己的文件名.jpg'); % 读取输入图像 tiledlayout(1,2); nexttile;title("haze");imshow(I); % 显示原图
omega = 0.95; % 调节因子 t0 = 0.1; % 最小透射率 J = dehaze(I,omega,t0); % 调用下方的去雾处理函数 nexttile;title("dehaze");imshow(J); % 显示结果
function J = dehaze(I, omega, t0) I = im2double(I); % 将彩色图像转为双精度 [h, w, ~] = size(I); %长(h) 宽(w) 通道数(3) dark_3 = min(I, [], 3); % 计算暗通道图像 dark_3 = imerode(dark_3, strel('square', 15));% 15x15 %15x15 改成 3x3 或者 9x9 都有不同的效果 [~, idx] = max(dark_3(:));% 取最亮点坐标 [y, x] = ind2sub([h, w], idx); A = I(y, x, :); %以此点作为估计到的大气光 % 计算透射率 t(x) t = 1 - omega * min(min(I ./ A, [], 3), [], 3); t = max(t, t0); % 防止透射率过小 A = repmat(A, h, w); %运算前必须保持 t = repmat(t, [1, 1, 3]); %矩阵维度一致 J = (I - A) ./ t + A; % 恢复原图像 J(x) J = im2uint8(J);% 将双精度转为彩色图像 end
测试用图:

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删