MATLAB矩阵保存为图像问题

100*100矩阵,数据范围在0-10之间,保存为tif格式文件,但是将保存的图像输出后标尺0-255之间的数据,怎么才能将数据完整保存?使其输出与保存前一样。
所用语句:imwrite(GABP,'GABP.tif')
请高手指点!
我的数据GABP=10*randn(100,100);我的意思是图像里保存的就是浮点型数据,而不是无符号整型。能办到吗?

保存的是二进制的整形,所以肯定有近似。
数据范围在0-10之间,做处理
A = A/10*255;
A = uint8(A);
然后再存储,就能最大地利用0-255的范围了。追问

我的数据GABP=10*randn(100,100);我的意思是图像里保存的就是浮点型数据,而不是无符号整型。能办到吗?

追答

这个不能办到,这是tif文件的文件格式所决定的。除非你自己定义图像文件格式。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-25
楼主这个问题解决了么,两年后的我也碰到了和你一样的问题,请指教!

MATLAB矩阵保存为图像问题,为什么保存图像为空白? RGB值为255。
保存图像为空白,是由于数值超范围了。保存图像原理:MATLAB矩阵保存的是二进制的整形,数据范围在0-10之间,做处理 A = A\/10*255;A = uint8(A);然后再存储,就能最大地利用0-255的范围了。本题应为:[文件头][信息头][调色板][255,255,255,255,255,255,255,255,255,255; 255,255,255,...

matlab 矩阵是如何显示为图像,就是怎样将存入的数据流转化为图片显示...
1、matlab确定存入的数据流以后,需要找到plot并点击跳转。2、下一步弹出一个新的对话框,在左上角选择文件进行导出。3、这个时候来到相关窗口,通过设置相关参数来点击导出。4、选择保存的地址、名称和格式,如果没问题就直接确定。5、这样一来会转化为图片显示,即可实现矩阵显示为图像了。

matlab批量把矩阵mat转化为图片
可以使用 imwrite 函数。将其放在一个循环中,可以批量处理多个矩阵。下面是一个实现的示例代码:1、for i = 1:n2、假设你有n个矩阵并将它们保存在名为mat1、mat2、...、matn的变量中3、假设你要生成名为 image1.png、image2.png、...、image_n.png 的图像文件。4、filename = ['image',...

MATLAB如何将得到的矩阵保存成和矩阵元素个数一样的位图?
这可以的,用图片格式转换命令就行,如你已存为a.jpg,则可这样 a=imread('a.jpg');imwrite(a,'b.bmp');这就存为位图了。

如何把double型的矩阵转换为图像
matlab保存double型矩阵为图像的方法:将生成的图像以及颜色条显示在一起,它就是一个 figure,所以就可以用输出 figure 的方法保存。假设想要保存的图像为当前figure, 那就可以用 saveas 保存:saveas(gcf, 'MyImage','eps');它能将 image 和 colorbar 一起保存为一幅图像 (存在当前目录下,文件...

matlab如何保存double型矩阵为图像
imread把灰度图像存入一个8位矩阵,当为RGB图像时,就存入8位RGB矩阵中。因此,matlab读入图像的数据是uint8,而matlab中数值一般采用double型(64位)存储和运算。所以要先将图像转为double格式的才能运算,I2=im2double(I1) %把图像I1转换成double精度类型 (假设图形矩阵范围0~255)或者 I64=...

matlab怎么将矩阵转化为图像
a=imread('1.jpg');图像imread后,a已经是矩阵了(彩色的3维,灰度2维)matlab操作数据以矩阵为基础,也就是计算都是矩阵啦

matlab 将二维矩阵存储成彩色图
imwrite(labels,'D:\\labels.jpg');%后面是存放的路径,可根据需求自行修改

matlab自定义矩阵,并将其以图片的形式显示
生成的矩阵如果是用rgb表示的三维矩阵 那么应该用uint8的数据类型,才能用imshow正确显示 假如你自定义的m*n*3的矩阵是a 一般a是double类型的数据 你用 a=uint8(a);强制转换为uint8类型 再用imshow(a)就可以了 当然在用uint8转换时,确保a的值在0~255之间 ...

MATLAB 16位图问题
关于你的问题不知道理解的对不对,简单而言,就是对于取值为0~65536的矩阵,当作为图像处理是如何存取。首先看第二个问题:2,imwrite 可以存为uint16,也可以存为uint8,这取决于你的矩阵元素是哪种类型的值。并且当存储时,并不是任何格式的图像都可以使uint16,即取值为0~6536.例如,bmp就不行;...

相似回答