Python-opencv不规则绘制掩膜-使用fillPoly报错error: (-215:Assertion failed)

本文讲述了作者在使用OpenCV库进行不规则掩膜创建时遇到的fillPoly函数报错,并分享了解决方法——将多边形顶点数组从`points`改为`[points]`。博主通过实际操作和引用相关文章,帮助读者避免常见问题。
摘要由CSDN通过智能技术生成

最近学习不规则掩膜,网上参考文章代码:

https://blog.csdn.net/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:多边形顶点数组的预期数据类型?

谢谢答主。祝他生活愉快。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曾想上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值