function out = darktest(filename)w0=0.65; %0.65 乘積因子用來保留一些霧,1時完全去霧 t0=0.1;I=filename;[h,w,s]=size(I);min_I=zeros(h,w); %下面取得暗影通道圖像for i=1:h for j=1:w dark_I(i,j)=min(I(i,j,:)); endend Max_dark_channel=double(max(max(dark_I))) %天空亮度dark_channel=double(dark_I);t=1-w0*(dark_channel/Max_dark_channel); %取得透謝分布率圖
t=max(t,t0); I1=double(I);J(:,:,1) = uint8((I1(:,:,1) - (1-t)*Max_dark_channel)./t); J(:,:,2) = uint8((I1(:,:,2) - (1-t)*Max_dark_channel)./t); J(:,:,3) =uint8((I1(:,:,3) - (1-t)*Max_dark_channel)./t);out = J;end往期回顧>>>>>>