您的位置:首页 > 编程语言 > MATLAB

Matlab 的imwrite函数

2013-11-12 16:19 316 查看
下面记录我在实验中遇到的有意思的现象:

实验的内容:将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弱化了类型的概念,在调用函数时不需要用户显式定义数据类型,因此在使用时要注意。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: