这段代码对内存很高,所使用图片尽量控制在200*300范围内
img_name='002.bmp';
% 原始图像
I=double(imread(img_name))/255;
% 获取图像大小
[h,w,c]=size(I);
win_size = 7;
img_size=w*h;
dehaze=zeros(img_size*c,1);
dehaze=reshape(dehaze,h,w,c);
figure, imshow(I);
win_dark=zeros(img_size ,1);
%这段代码可用矩阵处理
for cc=1:img_size
win_dark(cc)=1;
end
win_dark=reshape(win_dark,h,w);
%计算分块darkchannel,此处也尝试用矩阵处理,循环太多
for j=1+win_size:w-win_size
for i=win_size+1:h-win_size
m_pos_min = min(I(i,j,:));
for n=j-win_size:j+win_size
for m=i-win_size:i+win_size