【图像增强】基于matlab对数图像处理模型+去雾+暗原色先验图像增强【含Matlab源码 1012期】

396 阅读1分钟

一、简介

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述mark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RJUUNtYXRsYWI=,size_16,color_FFFFFF,t_70#pic_center)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
HR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RJUUNtYXRsYWI=,size_16,color_FFFFFF,t_70#pic_center)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、源代码

clc,close all;
Image=im2double(rgb2gray(imread('couple.bmp')));%打开图像
[height,width]=size(Image);%获取原图的大小,h行w列
imshow(Image);%展示原图
M=1;%设置最大灰度等级
fImage=M-Image;%求得灰度色调函数
fLImage=log(fImage);%基本正态函数的正变换
AvgW=zeros(height,width);
w=1;%定义邻域窗口半径为1
temp=zeros(2*w+1,2*w+1);
for x=1+w:height-w
    for y=1+w:width-w
        temp=fLImage(x-w:x+w,y-w:y+w);        
        AvgW(x,y)=sum(temp(:))/(2*w+1)^2;
    end
end%平均灰度值
alpha=3;
imshow(Image), title('原始图像');
[height width c]=size(Image);
dark_I = zeros(height,width);
for y=1:height
    for x=1:width
        dark_I(y,x) = min(Image(y,x,:)); %计算RGB取最小值后的图像dark_I
    end
end
kenlRatio = .03;
krnlsz = floor(max([3, width*kenlRatio, height*kenlRatio]));
dark_I2 = minfilt2(dark_I, [krnlsz,krnlsz]);%最小值滤波
dark_I2(height,width)=0;
dark_channel=dark_I2;
hh=floor(width*height*0.001);
bb=reshape(dark_channel,1,[]); 
bb=sort(bb,'descend');
cc=find(bb>0,hh); 
dd=bb(cc(hh)); 
ee=dark_channel(find(dark_channel>dd)); 
AA=[ee];
num=length(find(dark_channel>dd));
sum=0;
for k=1:num
    sum=sum+AA(k);
end
meandc=floor(sum/num);
minAtomsLight = 240;
A= min([minAtomsLight, meandc]);%计算大气光A
w0=0.9;  t0=0.3;%设置调节参数w0值
t=1-w0*(dark_channel/A);%计算透射率t
t=max(t,t0);
img_d = double(Image);

三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、备注

版本:2014a