Matlab 的imwrite函数

下面记录我在实验中遇到的有意思的现象:

实验的内容:将logical数据类型的矩阵保存为图片,然后再从图片中将数据读取出来,看该数据是否与原始数据一致。

实验的代码:

代码1:

clear
logicalMatrix = logical([1 0; 0 1])
imwrite(logicalMatrix, 'logicaltest.bmp'); 
output = imread('logicaltest.bmp')

结果:

logicalMatrix =

     1     0
     0     1

output =


     1     0
     0     1

注意:这里的output中元素的数据类型是logical


代码2:

clear
logicalMatrix = logical([1 0; 0 1])
imwrite(logicalMatrix, 'logicaltest.jpg'); 
output = imread('logicaltest.jpg')

logicalMatrix =


     1     0
     0     1

output =

  248   14
   11  242

注意:这里的output中数据元素的类型是uint8


结论:因为图片编码的缘故,保存后的数据会发生改变,从而对从图片中读取的数据的值和类型有影响。

分析:Matlab弱化了类型的概念,在调用函数时不需要用户显式定义数据类型,因此在使用时要注意。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值