我正在尝试使用 Python 3.5.2 和 OpenCV 3.1 进行 Delaunay 三角剖分。我正在尝试使用函数 cv2.cv2.Subdiv2D(rect)
但我无法向 Subdiv 对象添加一个点。我做错了什么?
import numpy as np
import cv2
point = np.array([[1, 1]])
rect = (0, 0, 10, 10)
# Create an instance of Subdiv2D
subdiv = cv2.Subdiv2D(rect[0])
subdiv.insert(point)
它正在抛出这条消息:
OpenCV 错误:copyTo 中断言失败(channels() == CV_MAT_CN(dtype)),文件/Users/jenkins/miniconda/1/x64/conda-bld/work/opencv-3.1.0/modules/core/src/copy.cpp,第 257 行
libc++abi.dylib:以 cv::Exception 类型的未捕获异常终止:/Users/jenkins/miniconda/1/x64/conda-bld/work/opencv-3.1.0/modules/core/src/copy.cpp:257: 错误:函数 copyTo 中的 (-215) channels() == CV_MAT_CN(dtype)
进程以退出代码 134 结束(被信号 6 中断:SIGABRT)
最佳答案
我可能错了,但不应该是:point = np.array([[1, 1]])
?您这样做是在声明一个值为 1 和 1 的数组,而不是一个点数组。
编辑:
尝试使用点作为元组:
points_list = []
points_list.append((1,1))
来源:http://www.learnopencv.com/delaunay-triangulation-and-voronoi-diagram-using-opencv-c-python/
关于python - 使用 Python 和 OpenCV 进行 Delaunay 三角剖分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41979149/