1.HoughLinesP
void cv::HoughLinesP( InputArray _image, OutputArray _lines,
double rho, double theta, int threshold,
double minLineLength, double maxGap )
1)image: 必须是二值图像,推荐使用canny边缘检测或二值化分割结果图像;
2) lines:输出直线,是一个vector<Vec4i>,Vec4i是一个包含4个int数据类型的结构体,[x1,y1,x2,y2],可以表示一个线段
3)rho: 距离分辨率,单位为像素。
线段以像素为单位的距离精度,double类型的,推荐用1.0 ;
4) theta: 角度分辨率,单位为弧度
线段以弧度为单位的角度精度,推荐用numpy.pi/180 或CV_PI/180
5) threshod: 累加平面的阈值参数,int类型,超过设定阈值才被检测出线段,值越大,基本上意味着检出的线段越长,检出的线段个数越少。根据情况推荐先用100试试
6)minLineLength:线段以像素为单位的最小长度,根据应用场景设置
7) maxLineGap:同一方向上两条线段判定为一条线段的最大允许间隔(断裂),超过了设定值,则把两条线段当成一条线段,值越大,允许线段上的断裂越大,越有可能检出潜在的直线段
网友评论