matlab 中 ordfilt2() 函數


簡介:

  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’  表是鏡像填充。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM