[2018年最新整理]基于Hough的直线检测.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[2018年最新整理]基于Hough的直线检测

基于Hough变换的直线检测 主要内容 1.直线检测的意义 2.Hough变换原理及特点 3.直线的Hough变换的基本思想 点-线对偶 点-正弦曲线对偶 4.算法实现 概述 具体步骤 5.总结 1.直线检测的意义 直线是图像的基本特征之一。一般物体平面图像的轮廓可近似为直线及弧的组合,因此,对物体轮廓的检测与识别可以转化为对这些基元的检测与提取。另外在运动图像分析和估计领域也可以采用直线对应法实现刚体旋转量和位移量的测量,所以对图像直线检测算法进行研究具有重要的意义 。 2.Hough变换原理及特点 Hough变换是一种利用图像的全局特征将特定形状的边缘连接起来,形成连续平滑边缘的一种方法。它通过将源图像上的点影射到用于累加的参数空间,实现对已知解析式曲线的识别。 由于它利用了图像全局特性,所以受噪声和边界间断的影响较小,比较鲁棒。 Hough变换常用来对图像中的直线和圆进行识别。 3.直线的Hough变换的基本思想 点-线对偶( y = ax + b ) x-y平面上的任意一条直线y = ax + b ,对应在参数a-b平面上都有一个点 3.直线的Hough变换的基本思想 过x-y平面一个点(x,y)的所有直线,构成参数a-b平面上的一条直线 3.直线的Hough变换的基本思想 如果点(x1,y1)与点(x2,y2)共线,那么这两点在参数a-b平面上的直线将有一个交点 3.直线的Hough变换的基本思想 在参数a-b平面上相交直线最多的点,对应的x-y平面上的直线就是我们的解 上述在x-y坐标中用斜率描述的直线存在斜率a无穷大的情况,会给计算带来不便。故一般采用下面的点-正弦曲线对偶。 3.直线的Hough变换的基本思想 点-正弦曲线对偶( ? =xcos ? + ysin? ) 采用极坐标描述直线,则有如下的Hough变换函数: ? =xcos ? + ysin? 即将图像空间中的点(x,y)影射到?- ?参数空间。 3.直线的Hough变换的基本思想 x-y平面上的一点对应参数平面中的一条正弦曲线 参数平面中的一点对应x-y平面中一条直线 x-y平面中共直线的点映射到参数平面中的正弦曲线的交点就对应了原直线的两个参数? 和? 4.算法实现 概述 图像上任意直线区域都可以一一对应参数空间中的一个点,而图像上的任意像素都同时存在于很多直线区域之上。可以将图像上的直线区域想象为容器,把特定像素想象成放在容器中的棋子,只不过在这里,每个棋子都可以同时存在于多个容器中。那么Hough变换可以理解为依次检查图像上的每个棋子(特定像素),对于每个棋子,找到所有包含它的容器(平面上的直线区域),并为每个容器的计数器加1,这样就可以统计出每个容器(平面上的直线区域)所包含的棋子(特定像素)数量。当图像上某个直线区域包含的特定像素足够多时,就可以认为这个直线区域表示的直线存在。 5.结论 优点 针对有噪图像具有稳定性和鲁棒性 不足 计算量大,占用内存大 检测精度受参数离散间隔制约 只能指出图像中某条直线的存在,不能给出直线段的完整描述(端点坐标和长度信息等) * * a b a b a b y x (x1,y1) (x2,y2) a’ b’ L1 L2 L3 L4 L6 L7 L8 A B 当进行Hough变换时,依次对A、B像素进行处理,处理A像素的结果使L1、L2、L3、L4等直线区域的计数器加1,而处理B像素的结果使L2、L6、L7、L8等直线区域加1,最终得到的结果除L2外,其余直线区域的计数器值均为1。  根据图像大小设定阈值K,规定若某个直线区域内包含的特定像素数量超过K,则认为此直线区域所对应的直线存在。 具体步骤 用二维向量(?,?)描述图像上的每一条直线区域,则可将图像上的直线区域计数器映射到参数空间中的存储单元。由于?为直线区域到原点的距离,因此对于对角线长度为n的图像,固定左上角为原点,可得到?的取值范围[0,n],令?以1度为增量,可得到?的取值范围[0,360]。定义二维数组HoughBuf[n][360]作为存储单元,其中对于任意(?,?)决定的直线区域,计数器为HoughBuf[?][?]。 依次遍历图像的所有像素,对于每个像素判断是否满足特定条件,若满足则对经过该像素的所有直线区域的计数器加1,否则继续判断下个像素。为了得到经过某个像素的所有直线区域 ,可依次用?的所有可能取值,再借助此像素的坐标和直线的极坐标方程计算?的值,而每一组(?,?)就对应了一条经过此像素的直线区域。 若将Hough变换得到的各直

文档评论(0)

liwenhua11 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档