opencv中imshow的用用法

今天做数字图像处理比特平面作业。

步骤:

1.读入灰度图片(灰度读入,只有长宽,无通道)

2.图片中每一个像素值的范围为0-255.将每一个十进制数用8位二进制来表示。

3.所有像素值的第0位,组成了0比特面;所有像素值的第1位,组成了1比特面,以此类推。最后得到了八张0-1比特面图。

 

 

问题来了~

当用imshow进行展示图片时,imshow函数默认其位二进制图像,0表示黑色,1表示白色。

自己将图片保存到本地,是全黑的。经过分析,可能保存下来以后,认为存储的是0-255范围的。

于是将像素值为1的像素变为255,图片可正常显示。同时将修改好的二位矩阵用imshow进行展示时,仍然可以正常显示。

 

问题来了~~~~imshow函数怎么如何区分我的每一个像素值的范围是多少呢。

 

经过查阅资料,好像imshow(img,[low,high])认为低于low的值设置为黑色,高于high的值设置为白色。其余值介于之间。

如果不填low,high,我猜是默认所有像素值最大的设置为high,最小的设置为low。

 

个人意见,不知道对不对。如果有大神,还请给出正确解释~感谢


版权声明:本文为xuan971130原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。