OpenCV中imshow()的几点说明

版权声明:转载注明出处 https://blog.csdn.net/york1996/article/details/82086037

在使用imshow来显示图片的过程中,由于是自己生成的图片,里面是0到1的小数,我以为它对图片的要求是0到255的范围,所以直接显示0到1会是差不多黑的图片。然后我就给他乘上了255,然后显示出来是白色的图片。然后我使用imread函数从本地文件中读取了一张RGB图片,然后把array打印出来,结果是0到255之间的。随后我把乘的255去掉,显示正常,于是乎我就使用了一下help(cv2.imshow)。找到了真相:

1,如果原始图片是8位无符号整数,就按照原来的数字进行显示。也就是数字范围是[0,255]

2,如果原始图片是16位无符号整数或者32位整数,就除以256进行显示。也就是说0到256*256的范围被压缩到0到255。

3,如果图片是32位或者64位的浮点类型数据,那么像素值就会乘以255。也就是说,0到1的范围被映射到0到255.

参考自函数说明。 

猜你喜欢

转载自blog.csdn.net/york1996/article/details/82086037