【求助】图像imwrite后显示不出来
用程序生成一个75x75 double (min 0.9930 max 3.8507)的图像后.然后写入文件用下面的命令imwrite(uint16(f')*100,'test.tif','tif')
现在问题是,我用图像软件打开生成的图像文件text.tif后,看到的却和用imagesc(f')的图像不同
请问我该如何写入,才能保证两个是一样的?
谢谢了
附件为生成的矩阵
或者
下载链接:http://cid-e69a1470b42f3bcc.skydrive.live.com/self.aspx/.Public/matlab/matlab.mat
[ 本帖最后由 george 于 2010-2-11 19:39 编辑 ] imagesc后, 可以使用saveas即可!
imwrite个人以前没使用, 刚试下还没试成!
我想或许是因有无Scale data的缘故吧! 这个人改天再试试学习 原帖由 ChaChing 于 2010-2-11 23:23 发表 http://www.chinavib.com/forum/images/common/back.gif
imagesc后, 可以使用saveas即可!
imwrite个人以前没使用, 刚试下还没试成!
我想或许是因有无Scale data的缘故吧! 这个人改天再试试学习
还是谢谢了
我又看了看矩阵数值范围,发现该范围过小(0.9930~3.8507) 。 所以如果把数值类型double转换为uint16后,会损失图像信息。
现在我把该矩阵乘以10000. 然后再用imwrite写入文件,但是显示还是用matlab显示的不一样。
如果用saveas保存的话,图像带有刻度,而且还有原图像外的空白部分。但是我是想要和原矩阵一样大小的图像的。
再次谢谢了
页:
[1]