Matlab 图像光线不均的预处理
处理图像光线不均的方法有多种,下面是自己做的几个程序
g1=histeq(I);%直方图均衡化
直方图均衡化可以起到调整光线的作用,但是效果很不好,会出现“斑块”
%同态滤波
F=fftshift(fft2(log(I1)));
[u,v]=dftuv(M,N);
Rh=2;Rl=
0."5;c=
3."8;D0=
0."05*N;n=3;%同态滤波参数 Rh,Rl,c,D0,n
D=sqrt(u.^2+v.^2);
H=(Rh-Rl).*(
1."/(1+(D
0."/(c*D)).^(2*n)))+Rl;%改进的三阶巴特沃斯同态滤波函数 H=fftshift(H);
G=H.*F;
g=im2uint8(mat2gray(exp(real(ifft2(ifftshift(G))))));
subplot
(221),imshow(I),title('原图像');
subplot
(222),imhist(I),title('原图像直方图');
1 / 5