报错:FindContours support only 8uC1 and 32sC1 images | Unsupported data type (=4) | opencv java开发

当使用OpenCV的findContours()方法时,可能会遇到'FindContours support only 8uC1 and 32sC1 images'的错误。此错误意味着输入图像格式不正确。函数只接受8位单通道(8uC1)或32位整型(32sC1)图像。在Java环境下,如果图像已经是8UC1格式,确保设置mode参数为RETR_EXTERNAL。如果使用CV_RETR_CCOMP或CV_RETR_FLOODFILL,需要32SC1格式的图像。另外,如果遇到'Unsupported data type (=4)',表明数据类型不被支持,需要将数据转换为CV_8UC1。最后,使用drawContours()绘制轮廓时,参数格式要保持一致。
摘要由CSDN通过智能技术生成

关于findcontours函数的具体参数介绍参见博客:
中文版:Opencv 轮廓检测相关api文档
英文版:官方文档

调用findcontours()方法时,所需的参数在python环境和java环境都是差不多的。
如果出现这个报错,就可以锁定为是输入参数的格式不是所需要的8uC1 或 32sC1。(可以看出这个方法只支持单通道图像)

先来看看这个函数需要的参数:

c++:
void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值