图像的空间域变化
% 图像的平滑可以在空间域和频率域进行讨论 % 这次是空间域的讨论 % 掩模——模板操作:(掩模中心对齐之后,掩模超出矩阵的部分,认为该位置,矩阵的元素为0进行计算) % 1:将模板在图中漫游,并将模板中心与某像素重合 % 2:将模板系数与模板下对应像素相乘,将所有乘积相加 % 3:将上述求和结果富裕模板中心对应像素 % 缺点:降低噪音的同时使图像模糊 % 图像的空间域平滑——中值滤波 % 中值滤波是对一个滑动窗口内的所有像素灰度值排序,用中值代表窗口中心像素的原来灰度值 % 例如,采用1*3窗口 % 原图像:2 2 6 2 1 2 4 4 4 2 4 % 处理后:2 2 2 2 2 2 4 4 4 4 4 % 对于原图像最右边的4,其不能成为窗口中间,所以其值不进行改变 % 中值滤波对脉冲干扰及椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘 % 少受模糊。但是对点、线等细节较多的图像并不适合 mImg = imread("C:\Users\Administrator\Desktop\matlab博客园\05 图像增强2\Pepper.bmp"); mImg = rgb2gray(mImg); % figure; % imshow(mImg); mImgnoise = imnoise(mImg,'salt & pepper',0.1); %添加椒盐噪声污染 % figure; % imshow(mImg); mblock = [1 1 1 ;1 1 1 ;1 1 1 ]/9; %掩模模板 mImgfilter=filter2(mblock,mImgnoise);%在矩阵mImgnoise上使用掩模模板mblock进行掩模 mblock=fspecial('average',3);%产生均值滤波,为3*3,默认为3, mImgfilter=mat2gray(mImgfilter); mImgfilter1=medfilt2(mImgnoise,[7 7]); mImgfilte1=mat2gray(mImgfilter1); figure; subplot(221),imshow(mImg); subplot(222),imshow(mImgnoise); subplot(223),imshow(mImgfilter); subplot(224),imshow(mImgfilter1); % 图像的空间域锐化——梯度锐化法 % 在图像的识别中常需要突出边缘和轮廓信息。图像锐化就是增强图像的边缘或轮廓 % 梯度锐化法 % 对于图像f(x,y),在(x,y)出的梯度grad(x,y)=[x方向的偏导;y方向的偏导] % 根据梯度计算式就可以计算Roberts,Prewitt和Sobel梯度。一旦梯度算出后,就可根据不同的 % 需要生成不同的梯度增强图像 % 第一种输出方式:g(x,y)=grad(x,y); % 这种方法的缺点是增强的图像仅显示灰度变化比较陡的边缘,而灰度变化比较平缓或均匀的区域则呈黑色 % 第二种输出形式g(x,y)=grad(x,y)当grad(x,y)大于一个常数的时候,否则g(x,y)=f(x,y) % 选取适当的常数,可使明显的边缘轮廓得到突出,又不会破坏原来灰度变化比较平缓的背景 % 第三种输出形式g(x,y)=Lg当g(x,y)大于一个常数的时候,否则g(x,y)=f(x,y) % 将明显边缘用一个固定的灰度级Lg来表示 % 第四种输出形式g(x,y)=grad(x,y)当grad(x,y)大于等于一个常数,都咋g(x,y)=Lb % 将背景用一个固定的灰度级Lb来表示,便于研究边缘灰度的变化 % 第五种输出形式 g(x,y)=Lg当grad(x,y)大于等于一个常数,否则g(x,y)=Lb % 将明显边缘和北京分别用灰度级Lg和Lb表示,生成二值图像,便于研究边缘所在位置
作者:孙建钊
出处:http://www.cnblogs.com/sunjianzhao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。