1、显示图像:2代码:I2=zeros(256,256); I2(i,j)=(-1)(i+j).*100;f2(i,j)I3=fft2(I2);imshow(I3);比较f1(m,n)和f2(m,n)的幅度谱: 可见f2(m,n)是将频谱中心化,使fi(m,n)的频谱从原点移到中心,从而得到一个完整的频谱。3I3=zeros(256,256);I3=imrotate(I2,90,bilinearI4=fft2(I3);imshow(I4);fft(f3)I5=fft2(I2);imshow(I5);显示结果:比较fft(f2)和fft(f3): 可见f2(m,n)旋转90度,其傅里叶变换fft(f
2、3)也相应发生旋转。4.代码:I4=zeros(256,256);I5=zeros(256,256);191143I3=imrotate(I1,90,I4=imadd(I1,I3);I5=fft2(I4);图四imshow(I5)fft(f5)fft(f5)和fft(f1),fft(f4)的关系:由显示图可见,fft(f5)的频谱是fft(f1)和fft(f4)的叠加。图像的傅里叶变换满足线性。5I4=imadd(I2,I3);图五fft(f6)比较fft(f5)与fft(f6)的频谱图: 可见fft(f6)是fft(f5)的中心化。二 I1=zeros(64,64);for i=1:32 f
3、or j=1: I1(i,j)=1;for i=32:64 I1(i,j)=0; for j=32:I2=I1,I1,I1,I1;I1,I1,I1,I1;I1,I1,I1,I1;原二值图像I3=Medfilt2(I2);figure,imshow(I3);中值滤波后的图想I4=filter2(fspecial(average,3),I2);figure,imshow(I4);均值滤波后的图像 显示图像: 比较处理前后的图像:原图分别经过中值滤波和均值滤波,均值滤波过后的图黑白格边缘显得模糊;而中值滤波后的图边缘很清晰,可见中值滤波可以保护图像边界。三I1=zeros(256,28);I2=ze
4、ros(256,24);I3=zeros(256,11);25628for m=1:23 for n=1:24 I2(m,n)=0;for m=234:for m=24:2337 I2(m,n)=255; for n=8:25for g=1: for k=1:11 I3(g,k)=0;I=I1,I2,I2,I2,I2,I2,I2,I2,I2,I2,I3;imshow(I);原灰度图像J1=imnoise(I,gaussian,0,0.005); %加入高斯噪声figure(2)subplot(1,2,1),imshow(J1);加高斯噪声后的图像J2=imnoise(I,salt & pepp
5、er,0.02); %加入盐噪声subplot(1,2,2),imshow(J2),title(加椒盐噪声后的图像,3),J1);figure(3)subplot(2,2,1),imshow(I4),title(含高斯噪声图均值滤波后的图像I5=medfilt2(J1,3,3);subplot(2,2,2),imshow(I5),title(含高斯噪声图中值滤波后的图像I6=filter2(fspecial(,3),J2);subplot(2,2,3),imshow(I6),title(含椒盐噪声图均值滤波后的图像I7=medfilt2(J2,3,3);subplot(2,2,4),imsho
6、w(I7),title(含椒盐噪声图中值滤波后的图像比较四种滤波结果:可见中值滤波器和均值滤波器的作用都是抹平信号,消除噪声。而中值滤波器比较趋向于保留细节。均值滤波能有效的去除高斯噪声,而中值滤波能较好的去除椒盐噪声。四I=imread(source.bmpJ1=edge(I,robertsfigure(1),imshow(J1);roberts边缘检测J2=edge(I,prewittfigure(2),imshow(J2);prewitt边缘检测J3=edge(I,sobelfigure(3),imshow(J3);sobel边缘检测figure,subplot(1,3,1),imsho
7、w(I),title(原图subplot(1,3,2),imshow(J3),title(prewitt 边缘检测图H2=fspecial(I2=filter2(H2,I);subplot(1,3,3),imshow(I2),title(prewitt锐化图J5=edge(I,figure(2),subplot(1,3,1),imshow(I),title(subplot(1,3,2),imshow(J5),title(sobel边缘检测图H3=fspecial(I3=filter2(H3,I);subplot(1,3,3),imshow(I3),title(sobel锐化图figure(3)
8、,subplot(1,3,1),imshow(I),title(subplot(1,3,2),imshow(J1),title(Roberts边缘检测图H1=fspecial(I1=filter2(H1,I);subplot(1,3,3),imshow(I1);roberts锐化图原图,边缘检测图和锐化图三者的关系: Prewitt和Sobel边缘检测后的图像的边缘间断点较多,边缘更清晰一些;roberts边缘检测边缘间断点较少,对噪声很敏感,可见,Prewitt和Sobel边缘检测的边缘检测效果更好一些。图像锐化则是将边缘部分增强了。Prewitt和Sobel的锐化图似乎没有太大区别。五迭代
9、法是基于逼近的思想,其步骤如下:1求出图象的最大灰度值和最小灰度值,分别记为ZMAX和ZMIN,令初始阈值T0=(ZMAX+ZMIN)/2;2根据阈值TK将图象分割为前景和背景,分别求出两者的平均灰度值ZO和ZB;3求出新阈值TK+1=(ZO+ZB)/2;4若TK=TK+1,则所得即为阈值;否则转2,迭代计算。编程:/阈值初始为0intThresholdVal:=0;intThresholdVal2:/总灰度值intTotalGrayLevel:for intLoop:=0 to 255 doif intGrayLevelintLoop0 then=intTotalGrayLevel+intL
10、oop*intGrayLevelintLoop;/求出初始最大灰度值 if intGrayLevelintLoopbeginintLGrayLevel:=intLoop;break;end;/求出初始最小灰度值和初始阈值=255 downto 0 dointRGrayLevel:=(intThresholdVal+intLoop)div 2;/迭代求解while intThresholdValintThresholdVal2 do=intThresholdVal;intCount:=0 to intThresholdVal do=intCount+intGrayLevelintLoop;=intLGrayLevel+intLoop*intGrayLevelintLoop;=intTotalGrayLevel-intLGrayLevel;=intLGrayLevel div intCount;=intRGrayLevel div (intSize-intCount);=(intLGrayLevel+intRGrayLevel)div 2;迭代所得的阈值分割的图象效果良好。基于迭代的阈值能区分出图像的前景和背景的主要区域所在,但在图像的细微处还没有很好的区分度
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2