非极大值抑制可看成一种局部极大值搜索,这里的局部极大值要比他的邻域值都要大。这里的邻域表示有两个参数:维度和n-邻域。维度有1-D,2-D,3-D...;至于n值根据具体情况设置。举个例子:一维的情况,某个像素点左右各n个邻域点(加上该像素点,邻域区域共有2n+1个像素);二维的情况以当前像素为中心以n为半径向周围辐射到的区域均是邻域。
具体讲几个算法实例可能有助于我们对算法的理解:
1.一维三邻域算法
算法伪代码如下:
1 i ← 1;
2 while i + 1 < W do
3     if I[i] > I[i + 1] then
4        if I[i] >= I[i ? 1] then
5            MaximumAt(i);
         Endif
6     else
7       i ← i + 1;
8        while i + 1 < W AND I[i] ≤ I[i + 1] do
9            i ← i + 1;
          EndWhile
10      if i + 1 < W then
11         MaximumAt(i);
12   i ← i + 2;
    EndWhile
i表示图像I中像素点下标,W是下标上限。
算法说明:
① 最理想的情况是当前像素点I[i]比它的左右邻点都大,那么当前像素点记为局部极大值点(Line 3-5)。
② 如果已经确定像素点i+1比它的左邻点i小,那么i+1必不是局部极值点,此时可以直接将下标加2(Line 12)。PS:该算法添加了一个强制性条件:局部极值点必大于左邻点.
③ 如果当前像素点i比其右邻域点小,那么下标加1(Line 7).

最新文章

  1. neatbean 8+版本 配置
  2. yii2发送邮件教程
  3. 制作java可执行程序的方法
  4. compareTo()
  5. 几个BCB例子
  6. “add measurements”(添加度量)菜单问题
  7. bunoj 34990(hash)
  8. 试图解释下ERP
  9. C# 中枚举的一点研究(跳过一些net坑的研究而已)
  10. ASP.NET Aries 高级开发教程:Excel导入之代码编写(番外篇)
  11. springmvc源码分析——入门看springmvc的加载过程
  12. scrapy爬虫学习系列一:scrapy爬虫环境的准备
  13. Java就业班day09_xml&amp;tomcat
  14. phpmyadmin#1045 无法登录 MySQL 服务器
  15. JVM—内存溢出、OutOfMemoryError、StackOverflowError
  16. 5、Zookeeper命令操作
  17. 执行start-dfs.sh后,datenode没有启动的解决办法
  18. DevExpress04、LayoutControl、GalleryControl
  19. WebGL射线拾取模型——八叉树优化
  20. Java程序实现密钥库的维护

热门文章

  1. 闸流管(或双向可控硅) IGBT 应用
  2. 【html】html笔记综合
  3. android事件传递机制以及onInterceptTouchEvent()和onTouchEvent()总结
  4. [QT][转载]Qt:使用C++还是QML
  5. 完全卸载session 所需要的函数
  6. python之Beautiful Soup库
  7. IDEA Intellij中vim插件使用小技巧
  8. JAVA如何以追加的方式向文件中写入信息?
  9. block的基本使用
  10. jQuery选择器this通过onclick传入方法以及Jquery中的this与$(this)初探,this传处变量等