解决error: (-215) src.type() == (((0) & ((1 << 3) - 1)) + (((1)-1) << 3)) in function cv::threshold

问题描述:

运行程序报错:cv2.error: C:\ci\opencv_1512688052760\work\modules\imgproc\src\thresh.cpp:1402: error: (-215) src.type() == (((0) & ((1 << 3) - 1)) + (((1)-1) << 3)) in function cv::threshold

报错代码为:

ret1, th1 = cv2.threshold(img, 0.5, 1, cv2.THRESH_OTSU)  # 方法选择为THRESH_OTSU

原因分析:

我这里的img不是直接读图得到的矩阵,而是通过一些运算的得到的值为0-1的矩阵,把矩阵的值修改为0~255即可


解决方案:

代码改为:

ret1, th1 = cv2.threshold((img * 255).astype('uint8'), 0, 255,  cv2.THRESH_OTSU)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值