美文网首页
python中的“灵异”,图片灰度相减的问题

python中的“灵异”,图片灰度相减的问题

作者: 1037号森林里一段干木头 | 来源:发表于2020-11-11 14:17 被阅读0次

如下图,提取两张图片的灰度做差,用abs()函数,理论上abs(235-241)=6,但是带上图片的就是250??why?

捕获.PNG

我猜250是256-6来的,256是8个比特数据能表示的范围,难道是负数的时候abs()函数直接取反码?
验证一下:
6的二进制码:0000 0110
取反码: 1111 1001
真特么是250!

但是,为什么abs(235-241)=6?
直接让这两的数相减吧
gauss_img[int(nextpt[0]),int(nextpt[1])]-gauss_img[int(prept[0]),int(prept[1])]

捕获1.PNG
那不是abs()的问题

那是图片的保存位数是8位的,所以?
还果真是!!!!
int(gauss_img[int(nextpt[0]),int(nextpt[1])])-int(gauss_img[int(prept[0]),int(prept[1])])
改成这样就解决了,这个“灵异”bug害了我好久,掉了很多头发,为什么会这样呢?image里面的数据用8位无符号数表示的,这么简单的问题搞了半天,果然还是我太菜了。

相关文章

网友评论

      本文标题:python中的“灵异”,图片灰度相减的问题

      本文链接:https://www.haomeiwen.com/subject/ivxncktx.html