1、数图 图像增强实验2 图像增强一、实验目的1、掌握图像增强方法(点操作、直方图均衡、局域操作)2、掌握伪彩色处理3、理解点扩展函数恢复方法二、实验内容使用Matlab或者VC实现下面几个内容:(1)根据灰度映射关系进行灰度调整。例如根据下面变换曲线,写出变换表达式,并进行图像灰度映射增强。改变参数看看增强结果有何变化。(2) 实现直方图均衡算法(3) 实现局域变换增强。(平均平滑、高斯平滑、中指滤波)(4) 实现真彩图像转换为灰度图像,实现伪彩色处理。例如可以根据下图进行伪彩色变换,变换的结果可以使真彩图像,也可以是索引图像,比较结果有何不同。(5)(6) 模拟匀速直线运动模糊并进行恢复三、实
2、验结果使用Matlab或者VC实现下面几个内容:1、根据灰度映射关系进行灰度调整。例如根据下面变换曲线,写出变换表达式,并进行图像灰度映射增强。改变参数看看增强结果有何变化。I=imread(111.bmp);d1,d2,d3=size(I);if (d31)I= rgb2gray(I);endIm = double (I);A=0.5;B=0;darker = Im*A+B;A=1;B=0;mover=Im*A+B;A=1.5;B=0;lighter=Im*A+B;A=-1;B=255;reverser=Im*A+B;J1=uint8(darker);J2=uint8(mover);J3=u
3、int8(lighter);J4=uint8(reverser);subplot(2,3,1),imshow(I);title(原图);subplot(2,3,2),imshow(J1);title(减小对比度);subplot(2,3,5),imshow(J2);title(灰度值上移);subplot(2,3,3),imshow(J3);title(增大对比度);subplot(2,3,6),imshow(J4);title(反相);2、实现直方图均衡算法I=imread(111.jpg);d1,d2,d3=size(I);if (d31)I= rgb2gray(I);endI = dou
4、ble(I) /255;Im = uint8(255*I*0.5+0.5);subplot(2,2,1);imshow(Im);title(原图);gp=zeros(1,256);for i=1:256gp(i)=length(find(Im=(i-1)/(d1*d2);endsubplot(2,2,2);bar(0:255,gp);title(原图恢复直方图);newGp=zeros(1,256);S1=zeros(1,256);S2=zeros(1,256);tmp=0;for i=1:256;tmp=tmp+gp(i);S1(i)=tmp;S2(i)=round(S1(i)*256);e
5、ndfor i=1:256newGp(i)=sum(gp(find(S2=i);endsubplot(2,2,4);bar(0:255,newGp);title(均衡化后直方图);newGrayPic=Im;for i=1:256newGrayPic(find(Im=(i-1)=S2(i);endsubplot(2,2,3);imshow(newGrayPic);title(均衡化后);3、实现局域变换增强。(平均平滑、高斯平滑、中指滤波)平均平滑x=imread(111.jpg);h=fspecial(average);y=imfilter(x,h);subplot(1,2,1);imsho
6、w(x);subplot(1,2,2);imshow(y);高斯平滑I=rgb2gray(imread(111.jpg);subplot(2,2,1);imshow(I);xlabel(a.原图);I=imnoise(I,gaussian,0,0.005);subplot(2,2,2);imshow(I);xlabel(b.加入高斯噪声);r=50;Im=double(I);F=fft2(Im);F_result=fftshift(F);g=F_result;m,n=size(F_result);M=fix(m/2);N=fix(n/2);for u=1:m for v=1:n D=sqrt(
7、u-M)2+(v-N)2); H=1-exp(-D2/(2*r2); F_result(u,v)=F_result(u,v)*H; endendG_result=fftshift(F_result);g_result=fft2(G_result);f=real(g_result);f=uint8(f);subplot(2,2,3);imshow(f);xlabel(c.高斯高通滤波后);subplot(2,2,4);imshow(f);xlabel(d.高斯低通滤波后);S=0;S1=0;for i=1:M for j=1:N L=(abs(F_result(i,j)2; S=S+L; end
8、endfor i=1:M for j=1:N L1=(abs(g(i,j)2; S1=S1+L; endendI=rgb2gray(imread(1.jpg);I=imnoise(I,gaussian,0,0.005);r=5;Im=double(I);F=fft2(Im);F_result=fftshift(F);g=F_result;m,n=size(F_result);N=fix(n/2);for u=1:mfor v=1:nD=sqrt(u-M)2+(v-N)2);H=1-exp(-D2/(2*r2);F_result(u,v)=F_result(u,v)*H;endendG_resu
9、lt=fftshift(F_result);g_result=fft2(G_result);f=real(g_result);f=uint8(f);subplot(2,2,4);imshow(f);xlabel(d.高斯低通滤波后);S=0;S1=0;for i=1:M for j=1:N L=(abs(F_result (i,j)2; S=S+L; endendfor i =1:M for j=1:N L1=(abs(g(i,j)2; S1=S1+L1; endend中值滤波I=imread(1.jpg)I=rgb2gray(I);J1=imnoise(I,gaussian,0,0.005)
10、;subplot(1,2,1);imshow(I);xlabel(原图);K2=medfilt2(J1);subplot(1,2,2);imshow(K2);xlabel(中值滤波后)4、实现真彩图像转换为灰度图像,实现伪彩色处理。例如可以根据下图进行伪彩色变换,变换的结果可以使真彩图像,也可以是索引图像,比较结果有何不同。5、I=imread(1.jpg);I=double(I);M N=size(I);L=256;for i=1:M for j=1:N if I(i,j)L/4 R(i,j)=0; G(i,j)=4*I(i,j); B(i,j)=L; else if I(i,j)=L/2
11、R(i,j)=0; G(i,j)=L; B(i,j)=-4*I(i,j)+2*L; else if I(i,j)=3*L/4 R(i,j)=4*I(i,j)-2*L; G(i,j)=L; B(i,j)=0; else R(i,j)=L; G(i,j)=-4*I(i,j)+4*L; B(i,j)=0; end end end endend for i=1:M for j=1:N G2C(i,j,1)=R(i,j); G2C(i,j,2)=G(i,j); G2C(i,j,3)=B(i,j); end end G2C=G2C/256; figure; imshow(G2C);6、模拟匀速直线运动模糊
12、并进行恢复I=imread(1.jpg);subplot(2,3,1);imshow(I,);title(原图像);PSF=fspecial(motion,40,75);MF=imfilter(I,PSF,circular);noise=imnoise(zeros(size(I),gaussian,0,0.001);MFN=imadd(MF,im2uint8(noise);subplot(2,3,2);imshow(MFN,);title(运动模糊图像);NSR=sum(noise(:).2)/sum(MFN(:).2);subplot(2,3,3);imshow(deconvwnr(MFN,PSF,NSR),);title(逆滤波复原);subplot(2,3,4);imshow(deconvwnr(MFN,PSF,NSR),);title(维纳滤波复原);NP=0.002*prod(size(I);reg1 LAGRA=deconvreg(MFN,PSF,NP/3.0);subplot(2,3,5);imshow(reg1);title(最小二乘滤波复原);四、实验小结
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2