“RuntimeWarning: overflow encountered in ubyte_scalars像素加减运算溢出异常”原因以及解决办法

  • 转载本文请注明详细地址
  • 本文介绍了像素点相加减溢出的原因与解决方法

目录

原因:

解决方法:


原因:

这个问题一般是会出现在图像处理像素的加减中,出现的原因是因为图片的像素一般是八位即最大值是256,最小值是0,如果超出了这个范围就会出现警告,不会报错使得程序停止下来,但是会使得计算出来的结果有误。

#假设一个图片像素点的灰度值为136,另一个像素点的灰度值为180,两个灰度值相加出现的结果按道理来说是:316

但是得出来的结果是:60,出现这种情况的原因就是因为316溢出了0-256的范围,导致其重新从0开始计数

316-256 = 60

解决方法:

解决方法其实很简单,将8位的数值强制改成16位或者更高位的数值计数方法,一般用int或者float来强制修改数据类型即可

        t2max = np.max(t2)
        t2min = np.min(t2)
        t2_ = (int(t2max) + int(t2min)) / 2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

有情怀的机械男

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

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

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

打赏作者

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

抵扣说明:

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

余额充值