當前位置:菜譜大全網 - 素菜食譜大全 - matlab自帶的過濾器有哪些?

matlab自帶的過濾器有哪些?

1線性平滑濾波器

用MATLAB實現區域平均法壓制噪聲的程序;

I = im read(' c4.jpg ');

支線劇情(231)

imshow(壹)

標題(“原始圖像”)

I = RGB 2 gray(I);

I1=imnoise(I,' salt & amp辣椒',0.02);

支線劇情(232)

imshow(I1)

標題(“帶有椒鹽噪聲的圖像”)

k 1 = filter 2(f special(' average ',3),I 1)/255;% 3*3模板平滑過濾。

k2=filter2(fspecial('average ',5),I 1)/255;% for 5*5模板平滑濾波k3 = filter2 (fspecial ('average ',7),I 1)/255;% 7*7模板平滑過濾。

k4=filter2(fspecial('average ',9),I 1)/255;% 9*9模板平滑過濾。

支線劇情(233),imshow(k 1);標題(' 3*3模板平滑過濾');

支線劇情(234),im show(k2);標題(' 5*5模板平滑過濾');

支線劇情(235),im show(k3);標題(' 7*7模板平滑過濾');

支線劇情(236),im show(k4);標題(' 9*9模板平滑過濾');

2.中值濾波器

用MATLAB實現中值濾波的程序如下:

I = im read(' c4.jpg ');

I = RGB 2 gray(I);

J=imnoise(I,'鹽& amp辣椒',0.02);

支線劇情(231),imshow(I);標題(“原圖”);

支線劇情(232),imshow(J);標題('添加椒鹽噪聲圖像');

k 1 = medfilt 2(J);% 3*3模板中值濾波。

k2=medfilt2(J,);%進行5*5模板中值濾波。

k3=medfilt2(J,);% 7*7模板中值濾波。

k4=medfilt2(J,);% 9*9模板中值濾波。

支線劇情(233),imshow(k 1);標題(' 3*3模板中值濾波');

支線劇情(234),im show(k2);標題(' 5*5模板中值濾波');

支線劇情(235),im show(k3);標題(' 7*7模板中值濾波');

支線劇情(236),im show(k4);標題(' 9*9模板中值濾波');

3狀態統計濾波器:ordfilt2 2函數

Y=ordfilt2(X,順序,域)

用域中非零元素指定的鄰域有序集中的有序元素替換x中的每個元素。定義域是壹個只包含0和1的矩陣,1只定義了濾波運算的鄰域。

Y=ordfilt2(X,順序,域,S)

S和domain壹樣大,用domain的非零值對應的S的值作為附加補償。

二維自適應去噪濾波器:維納2函數

Wiener2函數估計每個像素的局部均值和方差,其使用如下:

J=wiener2(I,[M N],噪聲)

利用M×N大小鄰域內局部圖像的均值和偏差,對圖像I進行像素自適應濾波。

[J,噪聲]=wiener2(I,[M N])

在濾波之前,估計附加噪聲的能量。

5.特定區域過濾

MATLAB圖像處理工具箱中提供的roifilt2 2函數用於過濾特定區域,其語法格式為:

J=roifilt2(h,I,BW)

它的作用是使用濾波器H對圖像I中二值掩碼BW選擇的區域進行濾波..

J=roifilt2(I,BW,fun)

J=roifilt2(I,BW,fun,P1,P2,…)

它的作用是對圖像I中二值掩碼BW選擇的區域進行函數運算fun,其中fun是描述函數運算的字符串,參數為P1,P2,...返回的圖像J在選定區域中的像素是圖像I有趣操作的結果,其余像素值是I的原始值..

示例:用於銳化和過濾指定區域的程序列表:

I = im read(' eight . TIF ');

c =[222 272 300 272 222 194];

r =[21 21 75 121 121 75];

BW=roipoly(I,c,r);

h = f special(' unsharp ');

J=roifilt2(h,I,BW);

支線劇情(1,2,1);imshow(壹);

支線劇情(1,2,2);imshow(J);

運行結果顯示,右上角的硬幣發生了變化,而其他硬幣保持不變。