欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

图像的空域增强处理—空域滤波(matlab实现)

程序员文章站 2022-03-11 09:37:22
...

在这里我描述的是我一个初学者所收集到的一些较实用化的信息,具体原理不做描述;

空域滤波分为:平滑滤波(低通滤波)、锐化滤波(高通滤波);


平滑滤波(低通滤波):过滤掉图像中的高频部分(灰度变化较大较快部分)使得图像直方图分布均匀;

锐化滤波(高通滤波):过滤掉图像中的低频部分,让图像灰度变化大的地方更加的突出,如图像边界、交界地方;


线性平滑滤波:均值滤波、高斯滤波;      非线性平滑滤波:中值滤波;

线性/非线性锐化滤波:线性滤波常用算子:loplacian算子;  非线性锐化滤波常用算子:sobel算子、prewitt算子、log算子;


中值滤波:对噪声敏感度低,能够较好的消除椒盐噪声,易导致图像不连续;

高斯滤波:能较好的消除服从正态分布的噪声;



Matlab实现

I=fspecial(type,parameters); 生成不同类型滤波模板;type指定滤波器类型,parameters 与滤波器相关的具体函数,如尺寸、标准偏差等等;

filter2(I,BW);     BW为原始图像

medfilt2(BW,[m n]);  [m n ]指定模板尺寸


 图像的空域增强处理—空域滤波(matlab实现)

clear
I=imread('eight.tif');  
J=imnoise(I,'salt & pepper',0.02);  
subplot(5,2,1),imshow(I),title('原始图像');  
subplot(5,2,2),imshow(J),title('加入椒盐噪声的图像'); 
K1=filter2(fspecial('average',3),J);
K2=filter2(fspecial('average',7),J);
subplot(5,2,3),imshow(K1,[]),title('模板尺寸为3的均值滤波器');
subplot(5,2,4),imshow(K2,[]),title('模板尺寸为7的均值滤波器');
H3=fspecial('laplacian');
K3=filter2(H3,J);
H4=fspecial('prewitt');
K4=filter2(H4,J);
subplot(5,2,5),imshow(K3,[]),title('lapacian算子的锐化滤波');
subplot(5,2,6),imshow(K4,[]),title('peteitt算子的锐化滤波');
H5=fspecial('log');
K5=filter2(H5,J);
H6=fspecial('sobel');
K6=filter2(H6,J);
subplot(5,2,7),imshow(K5,[]),title('log算子的锐化滤波');
subplot(5,2,8),imshow(K6,[]),title('soble算子的锐化滤波');
K7=medfilt2(J,[5 5]);
K8=medfilt2(J,[10 10]);
subplot(5,2,9),imshow(K7,[]),title('尺寸为3的中值滤波');
subplot(5,2,10),imshow(K8,[]),title('尺寸为5的中值滤波');

相关标签: image