python - cv2.fitLine() 方法抛出的奇怪错误

标签 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 || 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/

相关文章:

python - 如何在txt文件中插入随机空格?

python - Flask静态路径和多级路由

python - 用 python 查看 A 和上一个 B

python - 在 Py3k 中,我如何让信号处理程序阻止信号的默认操作?

python - 使用QLineEdit.setText()可以卡住窗口,但是后台任务可以正常工作

c++ - 正弦模式生成的 OpenCV C++ 错误 - structured_light 库

python - 在 Python 中,有没有办法检测使用不正确的变量名?像 VB 的 "Option Explicit"这样的东西?

python-3.x - 贝尔曼-福特 :- Why are there N-1 iterations for calculating mindistance?

java - 如何在openCV Java中去除图像中的噪声

c++ - 为未知大小的 cv::Mat 保留 vector 内存