当前位置 : 主页 > 编程语言 > java >

MATLAB_6-滤波

来源:互联网 收集:自由互联 发布时间:2022-07-07
1,男孩: 思想: 就是去除噪声点。 medfilt2, 消除噪声, 中值滤波器, 椒盐噪声 在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一定程度的降噪。 中值滤波


1,男孩:

思想:

就是去除噪声点。

medfilt2, 消除噪声, 中值滤波器, 椒盐噪声
在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一定程度的降噪。

中值滤波是一种非线性数字滤波器技术,经常用于去除图像或者其它信号中的杂讯。

中值滤波法对消除椒盐噪音非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大.

中值滤波在图像处理中,常用于用来保护边缘信息,是经典的平滑噪声的方法

MATLAB_6-滤波_MATLAB_6-滤波

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));

结果:

一次去除噪声:

MATLAB_6-滤波_图像处理_02

两次去除噪声:

MATLAB_6-滤波_中值滤波_03

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)

结果:

MATLAB_6-滤波_MATLAB_6-滤波_04

 

网友评论