其他分享
首页 > 其他分享> > 直线检测:Hough变换

直线检测:Hough变换

作者:互联网

采用参数空间变换的方法,对噪声和不间断直线的检测具有鲁棒性

可用于检测圆和其他参数形状

直线 y=kx+b,每一条直线对应一个k,b,极坐标下对应一个点(ρ,θ)

直角坐标系的一点(x,y),对应极坐标系下一条正弦曲线 ρ=xcosθ+ysinθ

同一条直线上的多个点,在极坐标系下必相交于一点

将(ρ,θ)空间量化成许多小格

根据x-y平面每一个直线点代入θ的量化值,算出各个ρ,将对应格计数累加

当全部点变换后,对小格进行检验。设置累积阈值T,计数器大于T的小格对应于共线点,其可以用作直线拟合参数。小于T的反映非共线点,丢弃不用。

 

标准Hough变换函数

CV_EXPORTS_W void HoughLines( InputArray image, OutputArray lines,
                                                           double rho, double theta, int threshold,
                                                           double srn = 0, double stn = 0,
                                                           double min_theta = 0, double max_theta = CV_PI );

 

累积概率Hough变换函数

CV_EXPORTS_W void HoughLinesP( InputArray image, OutputArray lines,
                                                              double rho, double theta, int threshold,
                                                              double minLineLength = 0, double maxLineGap = 0 );

标签:直线,Hough,double,变换,小格,theta,CV
来源: https://blog.csdn.net/qq_40008456/article/details/89786908