我正在尝试使用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错误:断言失败(channels()== CV_MAT_CN(dtype))copyTo,文件/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:错误:(-215)channels()== CV_MAT_CN(dtype)函数copyTo
使用退出代码134完成处理(由信号6中断:SIGABRT)
答案 0 :(得分:2)
我可能错了,但不应该是: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/