cv2.fitLine()方法引发的奇怪错误

时间:2016-12-22 15:54:14

标签: python python-3.x opencv numpy computer-vision

我使用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数组是一个2D坐标数组,如下所示:

[(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

但它仍然无法解释我应该做些什么。请帮助我理解这个错误的含义以及如何解决它?

1 个答案:

答案 0 :(得分:0)

打印您的点数组并确保它是Nx2。你在邮件中发布的是一个元组列表,而不是一个numpy数组。