《霍夫变换Hough课件》由会员分享,可在线阅读,更多相关《霍夫变换Hough课件(24页珍藏版)》请在金锄头文库上搜索。
1、Hough Transform霍夫变换Hough主要内容Finding lines in an image(图像直线检测)Using orthogonal coordinate(使用直角坐(使用直角坐标系)标系) Using Polar Coordinates(使用极坐标)霍夫变换Hough给定一幅图像(一般为二值图像)中的点集合,如何检测直线?一种解决方法:任选一对儿点,决定一条线,然后测试所有其他点是否接近这条线,从而得出接近这条特殊线的所有点的子集。该方法比较复杂。霍夫变换Hough霍夫变换用来检测图像中的直线。xy霍夫变换HoughUsing orthogonal coordinate
2、 xymbm0b0image spaceHough space图像空间中的一条线对应Hough空间中的一个点。霍夫变换HoughUsing orthogonal coordinate图像空间中的一个点(x0, y0)能映射为Hough空间中的什么?霍夫变换HoughUsing orthogonal coordinatexymbimage spaceHough spaceb = -x0m + y0,这是Hough空间中的一条线x0y0霍夫变换HoughUsing orthogonal coordinate在hough空间中,过点(x0,y0)和点(x1,y1)的直线如何表示?霍夫变换Houghi
3、mage spaceHough spaceUsing orthogonal coordinateb = x1m+ y1(x0, y0)(x1, y1)Hough空间中两条线的交点用来表示过点空间中两条线的交点用来表示过点(x0,y0)和和点点(x1,y1)的直线的直线 霍夫变换HoughUsing orthogonal coordinateImage Space霍夫变换HoughUsing orthogonal coordinate在Hough空间中找某些点,通过这些点的线数最多。如左图所示的A点和B点,分别有三条线通过这两点。Hough SpaceImage SpaceA(0,1)即m=0,
4、b=1即图像空间中斜率为0,截距为1的直线B(1,-1)即m=1,b=-1即图像空间中斜率为1,截距为-1的直线霍夫变换Hough问题:Hough变换的这种实现方式(y=mx+b)不能表示垂直线,因为垂直线的斜率为无穷大。能否用别的直线能否用别的直线的参数化方式呢的参数化方式呢?哈!有了!哈!有了!极坐标方式极坐标方式霍夫变换HoughUsing Polar Coordinates设直线上的任意点为则斜率为:霍夫变换HoughUsing Polar Coordinatesr霍夫变换HoughxyUsing Polar Coordinates这样经过Hough变换,图像空间中的每个点 (x,y)
5、就被映射为一个(r,)空间中的正弦曲线。 而图像空间中共线的点所对应的(r,)空间中正弦曲线相交于一点(r,) 。霍夫变换Hough问题转换把在图像空间中检测直线的问题转化为在极坐标参数空间中找通过点(r,)的最多正弦曲线数的问题。如何检测参数空如何检测参数空间中这样的点?间中这样的点?霍夫变换HoughImage Space例子步骤:1.离散化。 =-45,0 ,45 ,90 霍夫变换Hough2.按点的坐标(x,y)和每个角度求求r(x,y)-4504590(2,0)1.421.40(1,1)011.41(2,1)0.722.11(1,3)-1.412.83(2,3)-0.723.53(4,3)0.744.93(3,4)-0.734.94霍夫变换Hough3 统计 出现的次数。最大次数3出现霍夫变换Hough则相对应的图像空间中的线分别为:和霍夫变换Hough霍夫变换检测到的直线霍夫变换检测到的直线霍夫变换Hough总结根据直角坐标系和极坐标系变换域之间的关系,总结霍夫变换具有如下主要性质:直角坐标系中的一点对应于极坐标中的一条正弦曲线变换域极坐标系中一点对应于直角坐标系中的一条直线直角坐标系一条直线上的N个点对应于极坐标系中共点的N条曲线。霍夫变换Hough作业: 1 Hough变换如何检测圆? 2 实现Hough直线检测。霍夫变换Hough谢谢大家!霍夫变换Hough