【发布时间】:2017-05-08 07:24:46
【问题描述】:
我正在使用 cv2.fitLine 方法在许多点之间找到一条线段。
我有以下错误:
错误:/Users/jenkins/miniconda/1/x64/conda-bld/work/opencv-3.1.0/modules/imgproc/src/linefit.cpp:603:错误:(-215) npoints2 >= 0 ||函数 fitLine 中的 npoints3 >= 0
这是我的代码中产生问题的部分:
left_points = [...]
[vxl, vyl, xl, yl] = cv2.fitLine(np.array(left_points, dtype=np.int32), cv2.DIST_L2, 0, 0.01, 0.01)
left_points 数组是一个二维坐标数组,如下所示:
[(365, 635), (377, 623), (459, 571), (471, 560), (394, 627), (400, 621), (469, 563), (475, 557 )]
对了,我找到了产生错误的opencv的原始代码文件:https://github.com/opencv/opencv/blob/master/modules/imgproc/src/linefit.cpp
但它仍然没有解释我应该做什么。请帮助我了解此错误的含义以及如何解决?
【问题讨论】:
-
用 left_points= 你发布的数组,我没有出错(虽然没有检查它是否给出了一个好的结果,但是运行没有错误)。 left_points 是否正是您发布的数组?
-
@Soltius 不,不完全是这样,但 应该 具有这种格式。后来我检查了在那个特定的图像帧中,这个数组原来是空的。我认为这是导致问题的原因 - 但我现在已经解决了,谢谢!
标签: python python-3.x opencv numpy computer-vision