Matlab 的imwrite函数
2013-11-12 16:19
316 查看
下面记录我在实验中遇到的有意思的现象:
实验的内容:将logical数据类型的矩阵保存为图片,然后再从图片中将数据读取出来,看该数据是否与原始数据一致。
实验的代码:
代码1:
结果:
logicalMatrix =
1 0
0 1
output =
1 0
0 1
注意:这里的output中元素的数据类型是logical
代码2:
logicalMatrix =
1 0
0 1
output =
248 14
11 242
注意:这里的output中数据元素的类型是uint8
结论:保存的格式会对从图片中读取的数据的值和类型有影响。
分析:Matlab弱化了类型的概念,在调用函数时不需要用户显式定义数据类型,因此在使用时要注意。
实验的内容:将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弱化了类型的概念,在调用函数时不需要用户显式定义数据类型,因此在使用时要注意。
相关文章推荐
- matlab中imwrite函数
- matlab如何导入csv文件及matlab支持的数据格式,相应函数
- Matlab笔记
- MATLAB中查找两个不同维度的矩阵中相同或者不同元素的位置
- matlab之bsxfun与repmat
- 如何用matlab画出有效市场边缘
- [Matlab]错误使用 handle.handle/get对象无效或已删除
- Matlab2014a 找不到 vs2015编译器解决方法
- 自动生成艾宾浩斯记忆规律背单词时间表的Matlab脚本
- matlab 画三维图函数
- 把MATLAB代码编译中C++能调用的LIB文件
- [Matlab 基础] Matlab函数笔记 - 绘图
- Matlab通信仿真——simulink入门
- matlab之在workspace中查看子程序变量
- Matlab 自动导入通达信板块文件
- 关于matlab Error in ==> blkproc at 87的解决办法。
- 非线性规划问题的matlab求解
- 【转】matlab练习程序(奇异值分解压缩图像)
- 011 MATLAB进阶笔记:告别for循环,走向新巅峰
- matlab中plotyy修改纵坐标刻度