zoukankan      html  css  js  c++  java
  • 广义霍夫曼变换进行目标检测的理解

    1.选取一个模板图像,最好在图像里面随机选择一个参考点而不是在图像外面选取,然后根据这个参考点和模板图像的所有边缘点,然后将普通边缘点的坐标转换为(r, ɸ)这种形式,r为边界点到选取参考点的长度,ɸ为参考点到边界点的连线与边界点切线的夹角,建立起来一个r-table

    2.检测过程中,先把目标图像灰度化,然后用canny边缘检测把图形边缘坐标都提取出来,然后针对每一个边缘点,我们通过查r-table表来得到(r,ɸ),然后反计算出参考点(Xc,Yc),然后就是一个字典++P[Xc][Yc],这就是投票,然后看这个二维数组,最大值在哪,那么

    参考点就在哪,那么对应的图形就在哪,然后又可以根据参考点算出目标检测里所有坐标

    3.有的时候经常还要旋转尺度变换的检测,也就是把算出来的(r,ɸ),再根据你给的Omin ~Omax, Smin~Smax,每一个都反算一个参考点(Xc,Yc,O,S),然后就是一个 四维字典P[Xc][Yc][O][S],也是投票,然后看这个四维数组的最大值,也就是投票好的点,那么坐标

    就是Xmax,Ymax, 对应的旋转角度rotation就是O,缩放大小Scale也就是S

    我的话比较枯燥,可以参考以下几个博客去看:

    https://blog.csdn.net/qihangran5467/article/details/78408072

    https://blog.csdn.net/marvin521/article/details/9071405

    http://www.cnblogs.com/chenyn2014/p/4227171.html

    http://www.itriacasa.it/generalized-hough-transform/instructions.html

  • 相关阅读:
    View.VISIBLE、INVISIBLE、GONE的区别
    Android中TextView内容过长加省略号
    Android 读取SIM卡参数
    java分布式通信系统(J2EE分布式服务器架构)
    Java分布式处理技术(RMI,JDNI)
    Java分布式缓存框架
    spring
    Apache与Nginx的优缺点比较
    Java如何获取文件编码格式
    java 乱码问题-Dfile.encoding=UTF-8
  • 原文地址:https://www.cnblogs.com/tangmiao/p/9760950.html
Copyright © 2011-2022 走看看