太子丶
愿你走出半生,归来仍为少年。

简介:

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

 

posted on 2019-11-26 11:58  太子丶  阅读(1849)  评论(0编辑  收藏  举报