使用Python和OpenCV的Delaunay三角剖分

时间:2017-02-01 11:53:26

标签: python opencv triangulation delaunay

我正在尝试使用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)

1 个答案:

答案 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/