zoukankan      html  css  js  c++  java
  • 图像处理-中值滤波定位中值的方法

    上图为对一幅图片加窗后的3*3像素矩阵,进行中值滤波时需要找出9个像素中的中值,然后将其赋值给中心像素,上图采用的方法是先对每一行进行大中小的数值排序,然后提取三个最小值中的最大值,三个中值中的中值,三个最大值中的最小值,对提取的三个数值再做一次大中小排序,此时得到的中值即为所需要的9个像素值的中值,将其赋值给M22即可实现中值滤波。

    下面介绍上面这种寻找中值的方法的原理,原理简单粗暴,对每行排序的元素进行一次整体定位:

     将9个元素填充至上图的9个格子中,中值位于格子5。在对三行进行排序后,若想找到中值,则必须找到最后一次排序所需要的三个数,即可能能够填入5的值,而刚好,这样的值再经过两次排序后仅有三个:原理如下

    1:最小值中的最大值,为什么选最小值中的最大值作为最终的排序元素,第一次排序后的三个最小值Min1,Min2,Min3中的最小值必然是9个元素的最小值,只能填至格子1,假如此时填入格子1的为Min1,则三个最小值中的中值一定比Min1大,所以中值可能填入的格子号一定大于等于2,并且一定小于当前行的中值和最大值以及三个最小值中的最大值所在行的所有元素,共五个元素,则可能填入的格子号一定小于5,则三个最小值中的中值可能填入的格子号为2~4;最后三个最小值中的最大值同理可能填入的格子号为3~7;则该最大值成为可能填入格子5的备选项。

    2:三行的三个中值的中值为何能够成为备选项也采用上述的分析模式,三个中值中的最小值可能填入的格子号为2~4;三个中值中的中值可能填入的格子号为4~6,三个中值中的最大值可能填入的格子号为7~8。则该中值成为可能填入格子5的备选项。

    3:同理,三个最大值中最小值可能格子号3~7,中值可能格子号为6~8,最大值必定为所有元素的最大值,即只能填入格子9。则该最小值成为可能填入格子5的备选项。

    最后在上述三个备选项中选出中值即为所有元素的中值,唯一一个能够填入格子5的元素。

  • 相关阅读:
    Java多态
    推荐TED演讲:20岁光阴不再来(Why 30 is not the new 20)
    HDU 5305 Friends (DFS)
    C#高级编程八十一天----捕获异常
    Amazon EC2安装mysql多实例并配置主从复制
    python coding style guide 的高速落地实践
    Tomcat 在win7/win8 系统下tomcat-users.xml.new(拒绝访问)解决方法
    jsp+oracle实现数据库内容以表格形式在前台显示(包含分页)
    JSP/SERVLET入门教程--Servlet 使用入门
    解决系统打开CHM文件无法正常显示
  • 原文地址:https://www.cnblogs.com/lightmonster/p/15335716.html
Copyright © 2011-2022 走看看