在给定的一组点的python中的凸壳?

时间:2018-01-17 16:40:03

标签: python opencv convex-hull

我试图找到凸包,以便我得到opencv库,代码是:

import cv2
import numpy as np
a = [[0, 0], [1, 0], [0, 1], [1, 1], [0.5, 0.5]]
cv2.convexHull(np.array(a))

我收到的错误是 -

Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    cv2.convexHull(np.array(a))
error: C:\projects\opencv-python\opencv\modules\imgproc\src\convhull.cpp:137: error: (-215) total >= 0 && (depth == 5 || depth == 4) in function cv::convexHull

如何解决?

1 个答案:

答案 0 :(得分:0)

问题在于C ++代码需要一个&#34;双通道或三通道浮点数组,其中每个元素都是一个2D / 3D向量&#34;,它将Python / NumPy转换为三维数组。

import cv2
import numpy as np
a = [[0, 0], [1, 0], [0, 1], [1, 1], [0.5, 0.5]]
cv2.convexHull(np.array(a,dtype='float32'))

来源: - http://answers.opencv.org/question/252/cv2perspectivetransform-with-python/