在霍夫检测直线的时候,一条直线会被检测出许多条,可以根据给定的点集拟合出一条直线的情形。
void cv::fitLine(
cv::InputArray points, // 二维点的数组或vector
cv::OutputArray line, // 输出直线,Vec4f (2d)或Vec6f (3d)的vector
int distType, // 距离类型,要使输入点到拟合直线的距离和最小化
double param, // 距离参数,一般设为0
double reps, // 径向的精度参数,通常情况下两个值均被设定为1e-2
double aeps // 角度精度参数
);
示例如下:
Vec4f line;
vector<Point> point;
fitLine(point, line, DIST_L2, 0, 1e-2, 1e-2);