opencv使用threshold函数进行OTSU阈值分割时报错,求助

使用threshold函数进行OTSU阈值分割时系统报错如下图片说明
其中,h是HSV图分割通道后得到的H通道。
但是点击这
图片说明
又能得到otsu分割后的图像,如下
图片说明
从左到右依次为原图,HSV图,H通道,otsu分割后的图
请问出现这种异常的原因及怎么修改
还有就是,既然能得到图像,不管这个报错会不会有什么影响。

c++

3个回答

使用opencv Mat类型的时候,需要养成初始化对象,再调用对象的好习惯
你可以尝试Mat dst_otsuh;这一句之后;
添加:dst_otsuh=h.clone();
然后再进行阈值化处理。

很多此类异常是由于Mat对象没有初始化就调用而出现的,
请先尝试此步,然后看问题是否依然存在

weixin_42910064
泡视界 回复weixin_45582965: 看你的H是指HSV域的图片,应该是三通道的。阈值化处理的输入需要单通道灰度图。你可以cout<<h.channel来检查以下h的通道数量,若为3请先转化为单通道
2 个月之前 回复
weixin_45582965
weixin_45582965 问题仍然存在
3 个月之前 回复

之前也遇到过这种问题,一种方法:新建个项目,把项目拷贝过去解决了,或者换一下OpenCV版本,仅供参考

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问