有人可以向我解释一下fill poly在opencv2 python中是如何工作的吗?我无法找到很多正在运行的例子来尝试。
我尝试的内容为OpenCV Error: Assertion failed (p.checkVector(2, CV_32S) >= 0) in fillPoly, file /builddir/build/BUILD/opencv-2.4.5/modules/core/src/drawing.cpp, line 2037
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
cv2.error: /builddir/build/BUILD/opencv-2.4.5/modules/core/src/drawing.cpp:2037: error: (-215) p.checkVector(2, CV_32S) >= 0 in function fillPoly
提供了异常。这是我的简单代码。
mask=np.zeros((4, 3))
cv2.fillPoly(mask, [(1,1),(1,2), (2,1), (2,2)], 255)
答案 0 :(得分:0)
错误意味着它需要一个32位整数。
将代码修改为以下内容:
mask = np.zeros((4, 3))
cv2.fillConvexPoly(mask, np.array([(1,1),(1,2), (2,1), (2,2)], 'int32'), 255)