cv2.fillPoly报错的可能原因

在使用OpenCV的fillPoly函数时遇到错误:(-215:Assertion failed) p.checkVector(2,CV_32S)>=0。问题源于输入参数pts的数据类型应为np.int32或64,而非np.uint8。修复此问题需确保pts转换为正确的数据类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • {error}OpenCV(4.1.1) /io/opencv/modules/imgproc/src/drawing.cpp:2403: error: (-215:Assertion failed) p.checkVector(2, CV_32S) >= 0 in function 'fillPoly'
    cv2.fillPoly(img=mask_mask,
                 pts=[np.array(mask_shape.points, dtype=np.uint8)],
                 color=shape_id,
                 lineType=cv2.LINE_AA,
                 )

 其中,pts的数据类型应该是np.int32,或者64,而不是np.uint8  。

S|U|F:

S--代表---signed int---有符号整形

U--代表--unsigned int--无符号整形

F--代表--float---------单精度浮点型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

York1996

您的打赏,是我更新的动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值