簡介:
ordfilt2 是一個二維數據過濾器,首先對根據濾窗口中的非零元素對目標矩陣中的元素進行排序,然后用其中第K(通過參數指定)大的元素代替原數據值,並以此過程遍歷目標矩陣中的每一個元素。
一、ordfilt2 應用的三種形式
1、B = ordfilt2(A, order, domain);
根據 domain 過濾窗口的大小,取Input中的每個元素關於 domain 相同尺寸大小的區域中的第order的元素代替原像素的值 ,(注意:domain中0元素對應的位置不參與排序);
2、B = ordfilt2(A, order, domain, S);
S —— Additive offsets ,即附加偏移。 對於某個元素關於 domain 相同尺寸大小的區域中的每一個位置,若與之對應的 domain 位置的值不為零,則該位置加上S中對應位置的值,再進行相應的濾波計算。
3、B = ordfilt2(A, order, domain, S,padopt);
padopt —— Padding option,用來指明如何拓展邊界。
二、參數介紹
1、A —— Input Marix (輸入矩陣)
A 是一個2維的,非稀疏的矩陣。
2、order
— Element to replace the target pixel
指明對於A中某個元素值,要用其鄰域中的第幾大的元素去替代這個元素的值。
3、domain
— Neighborhood
說明過濾窗口的大小,domain中的零元素的位置表示該位置不在過濾窗口之內。
4、S —— Additive offsets ,附加偏移。
對於某個元素關於 domain 相同尺寸大小的區域中的每一個位置,若與之對應的 domain 位置的值不為零,則該位置加上S中對應位置的值,再進行相應的濾波計算。
5、padopt —— Padding option
用來指明如何拓展邊界
默認用 0 拓展邊界,‘symmetric’ 表是鏡像填充。