python 中给定点集的凸包?
Convex hull in python for given set of points?
我正在尝试寻找凸包以便使用 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
如何解决?
关键是 C++ 代码需要一个 "two-channel or three-channel floating-point array, where each element is a 2D/3D vector",它在 Python/NumPy 中转换为一个 3 维数组。
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/
我正在尝试寻找凸包以便使用 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
如何解决?
关键是 C++ 代码需要一个 "two-channel or three-channel floating-point array, where each element is a 2D/3D vector",它在 Python/NumPy 中转换为一个 3 维数组。
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/