我正在使用 cv2.fitLine 方法在许多点之间找到一条线段。
我有以下错误:
错误:/Users/jenkins/miniconda/1/x64/conda-bld/work/opencv-3.1.0/modules/imgproc/src/linefit.cpp:603:错误:(-215) npoints2 >= 0 || npoints3 >= 0 在 fitLine 函数中
这是我的代码中产生问题的部分:
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
但它仍然没有解释我应该做什么。请帮助我理解此错误的含义以及如何修复它?
最佳答案
打印点数组并确保它是 Nx2。您在消息中发布的是元组列表,而不是 numpy 数组。
关于python - cv2.fitLine() 方法抛出的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41287035/