最近学习不规则掩膜,网上参考文章代码:
https://blog.youkuaiyun.com/this_is_id/article/details/121355500
在使用不同的输入图像,与代码组装,无意外的话,还是出意外了。
报错:error: (-215:Assertion failed) p.checkVector(2, CV_32S) >= 0 in function 'cv::fillPoly'
继续百度,测试别人的做法,发觉是由于fillPoly的用法用错了;
原代码如下:
# 新建掩膜(多个点围起来的多边形)
points = np.array([[100, 100], [400, 50], [400, 400], [200, 380]], np.int32)
mask = np.zeros(img.shape[0:3], np.uint8)
# 填充掩膜为,白色
cv2.fillPoly(mask, points, (255, 255, 255))
解决思路,仅需要将 point,改成 [point]
便能解决报错,成功编译。
参考文章:
OpenCV cv2.fillPoly与cv2.fillconverxpoly:多边形顶点数组的预期数据类型?
谢谢答主。祝他生活愉快。
本文讲述了作者在使用OpenCV库进行不规则掩膜创建时遇到的fillPoly函数报错,并分享了解决方法——将多边形顶点数组从`points`改为`[points]`。博主通过实际操作和引用相关文章,帮助读者避免常见问题。
1495

被折叠的 条评论
为什么被折叠?



