直线检测: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