当前位置:   article > 正文

Python-Opencv fitLine 拟合直线_cv2.fitline

cv2.fitline

转自:

output = cv2.fitLine(InputArray points, distType, param, reps, aeps)
参数:
InputArray Points: 待拟合的直线的集合,必须是矩阵形式(如numpy.array)
distType: 距离类型。fitline为距离最小化函数,拟合直线时,要使输入点到拟合直线的距离和最小化。这里的距离的类型有以下几种:
cv2.DIST_USER : User defined distance
cv2.DIST_L1: distance = |x1-x2| + |y1-y2|
cv2.DIST_L2: 欧式距离,此时与最小二乘法相同
cv2.DIST_C: distance = max(|x1-x2|,|y1-y2|)
cv2.DIST_L12: L1-L2 metric: distance = 2(sqrt(1+x*x/2) - 1))
cv2.DIST_FAIR
cv2.DIST_WELSCH
cv2.DIST_HUBER
param: 距离参数,跟所选的距离类型有关,值可以设置为0
reps,aeps: 第5/6个参数用于表示拟合直线所需要的径向和角度精度,通常情况下两个值均被设定为0.01

output:对于二维直线,输出output为4维,前两维代表拟合出的直线的方向,后两位代表直线上的一点
拟合后直线点的斜率k和偏移b

loc = np.array(loc)
output = cv2.fitLine(loc, cv2.DIST_L2, 0, 0.01, 0.01)
k = output[1] / output[0]
b = output[3] - k * output[2]
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/653544
推荐阅读
相关标签
  

闽ICP备14008679号