基于MATLAB的图像编辑软件开发(16)
时间:2016-11-30 19:14 来源:毕业论文 作者:毕业论文 点击:次
for m=1:256 for n=1:256 if (m<=row)&(n<=col) extendx(m,n)=g(m,n); else extendx(m,n)=realmax; end end end axes(handles.axes2); imshow(extendx,[]); else M=max(row,col); for m=1:M for n=1:M if (m<=row)&(n<=col) extendx(m,n)=g(m,n); else extendx(m,n)=realmax; end end end axes(handles.axes2); imshow(extendx,[]); msgbox('The output image has a width or height larger than 256!','HELP','help'); end handles.imdata=g; guidata(hObject, handles); 5.5 图像增强 5.5.1 平滑去噪 平滑运算的目的是消除或尽量减少噪音,改善图像的质量,为了更好的显示平滑去噪的效果,在本系统中,先对图像进行加噪处理,然后再平滑去噪。从信号分析的观点来看,图像平滑本质上是低通滤波,它通过信号的低频部分,阻截高频的噪音信号。下图5.13即为平滑去噪在系统中的运行结果。 图5.13 加噪平滑后的图像 加噪平滑的代码如下: function AddNoise_Callback(hObject, eventdata, handles) f=handles.imdata; [M,N]=size(f); f1=imnoise(f,'salt & pepper',0.04); extendx=double(zeros(256)); if (M<=256)&(N<=256) W=256; else W=max(M,N); end for m=1:W for n=1:W if (m<=M)&(n<=N) extendx(m,n)=f1(m,n); else extendx(m,n)=realmax; end end end axes(handles.axes2),imshow(extendx,[min(min(f1)),max(max(f1))]); handles.imdata=f1; guidata(hObject, handles); 5.5.2 图像锐化 在图像识别中,需要有边缘鲜明的图像,即图像的锐化。图像锐化的目的是为了突出图像的边缘信息,加强图像的轮廓特征,以便于人眼的观察和机器的识别。然而边缘模糊时图像中常出现的质量问题,由此造成的轮廓不清、线条不鲜明,使图像特征提取、识别和理解难以进行。增强图像边缘和线条,使图像边缘变得清晰的处理成为图像锐化。下图5.14为本系统中对图像锐化的结果图。 图5.14 梯度锐化 (责任编辑:qin) |