1,男孩: 思想: 就是去除噪声点。 medfilt2, 消除噪声, 中值滤波器, 椒盐噪声 在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一定程度的降噪。 中值滤波
1,男孩:
思想:
就是去除噪声点。
medfilt2, 消除噪声, 中值滤波器, 椒盐噪声
在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一定程度的降噪。
中值滤波是一种非线性数字滤波器技术,经常用于去除图像或者其它信号中的杂讯。
中值滤波法对消除椒盐噪音非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大.
中值滤波在图像处理中,常用于用来保护边缘信息,是经典的平滑噪声的方法
zeros:zeros功能是返回一个m×n×p×...的double类零矩阵。注意:m, n, p,...必须是非负整数,负整数将被当做0看待。
symmetric:在边界处对称延伸。
indexed:如果A的类是双的,用1s填充;否则用0s填充。
代码:
clear,clc,close all;f=imread('laoNoise.jpg');imshow(f);
fm=medfilt2(f,'symmetric');
fm=medfilt2(fm,'symmetric');
figure,imshow(cat(2,f,fm));
结果:
一次去除噪声:
两次去除噪声:
2,女孩:
思想:
fspecial,计算机语言,用于建立预定义的滤波算子。
Matlab中fspecial的用法。
fm1=imfilter(f,w1);
imfilter函数是一种计算机函数,也叫做实现线性空间滤波函数,功能是对任意类型数组或多维图像进行滤波,函数形式是B = imfilter(A,H)。
类比:【创建一个滤波器,并使用这个滤波器进行滤波】图像处理的几种滤波【多数是用来消除噪声的!】
h = fspecial('motion', 50, 45);%创建一个滤波器filteredRGB = imfilter(originalRGB, h);
figure, imshow(filteredRGB)
看来要看看各个算子之类的含义啦!
代码:
clear,clc,close all;f=imread('lena.png');
w1=fspecial('average');
fm1=imfilter(f,w1);
figure,imshow(cat(2,f,fm1))
% w2=[0 -1 0 -1 5 -1 0 -1 0];
% fm2=imfilter(fm1,w2);
w22=[-1 0 -1 0 4 0 -1 0 -1];
fw22=imfilter(fm1,w22);
figure,imshow(cat(2,fm1,fw22))
% w3=fspecial('log');
% fm3=imfilter(f,w3);
% figure,imshow(fm2)
% figure,imshow(fm3)
结果: