matplotlib和opencv进行图像读取和保存

本文探讨了使用matplotlib和opencv保存0~1之间浮点数灰度图的效果对比。指出若要保留细节,宜选用matplotlib;而用opencv时,需将像素值调整至0~255区间。

1.保存灰度图为.png图片,如果图片像素值是0~1之间的浮点数,

(1)opencv保存,效果能稍微看出一点轮廓,但是大部分黑色。

①如果用matplotlib读取,像素值是0~1之间的浮点数(在我的测试中,只剩下了0和一个0.003921569这两数值),float类型的数据,能显示图片,但是丢失了许多信息。

②如果用opencv读取,因为只剩下(0或者1)两个像素值,int类型,并且opencv显示灰度图像素值范围是0—~255,即255是最亮的,所以opencv显示的话是漆黑一片。

(2)matplotlib保存,效果正常。

①如果用matplotlib读取,像素值还是正常的,float类型的数值(0~1之间的浮点数),但是变成了四通道的。显示灰度图正常显示。

②如果用opencv读取,重点来了,像素值类型是int类型的,并且值是0~255,能正常显示图片。

 

2.所以如果如果要保存0~1直接的浮点数为图片的话,如果想不失真,最好用matplotlib保存。如果要用opencv保存的话也可以(前提是把像素值乘以255,变到0~255之间)就可以显示正常了。


 

下面的链接,来自百度,可以看出区别:https://jingyan.baidu.com/article/cb5d6105a82a42005c2fe0eb.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值