matlab imwrite函数以浮点型写入tif文件

我有一个浮点型的矩阵,想把它存成一个TIF文件,但是用imwrite函数存的时候总是会存成整形的数据,请问如何能够直接以浮点型写入TIF文件?

你这个要求有点奇怪。
TIF格式的数据就应该是整型的,你为什么一定要把浮点数写到TIF文件呢?
一个浮点数占8个字节,而一个uint8只占一个字节,从图像数据来说,RGB三种颜色各8位,24位的数据即可以表达16.7M种颜色,无论从节省存储还是从需求来说,图像数据都没有使用浮点数存储的必要。
如果你想保存浮点数,那应该存成MAT文件,而不是TIF文件。追问

因为我接下来是要用这个tif去跟其他图像做处理的,需要存储类型一致才行。。。
有存成浮点型tif的方法吗?

追答

1、查了一下TIFF格式规范,6.0版的规范确实允许浮点类型的数据,但MATLAB似乎并不支持。

2、查到地图工具箱(Mapping Toolbox)里面有个函数geotiffwrite可以把非图像数据以浮点数的格式写入TIFF文件,不知对你是否有用?

温馨提示:内容为网友见解,仅供参考
无其他回答

matlab imwrite函数以浮点型写入tif文件
一个浮点数占8个字节,而一个uint8只占一个字节,从图像数据来说,RGB三种颜色各8位,24位的数据即可以表达16.7M种颜色,无论从节省存储还是从需求来说,图像数据都没有使用浮点数存储的必要。如果你想保存浮点数,那应该存成MAT文件,而不是TIF文件。

matlab中的imwrite函数怎么用
imwrite函数的核心是将Mat类型的矩阵(即图像数据)写入指定文件,并允许通过params参数调整图片的压缩参数,以控制图片质量和大小。默认情况下,不设置params参数时,函数会根据图像格式自动选择一个压缩设置。总结来说,imwrite函数是MATLAB中处理图像数据存储的重要工具,通过灵活设置参数,可以轻松将图像保存到...

matlab中的imwrite函数怎么用
1、保存到当前文件夹下:imwrite(I,abc.png);2、保存到当前文件夹下的一个子文件result下:imwrite(I,.\/result\/abc.png);3、保存到当前文件夹上一层的一个文件夹result下:imwrite(I,..\/result\/abc.png);其中I为要保存图像,abc.png为文件名,保存为png格式也可以是其他格式(jpeg,bmp,tif.....

matlab如何输出图像左上角的经纬度,是tif格式,左上角和左下角的经纬度...
info = geotiffinfo('*.tif');[x,y] = pix2map(info.RefMatrix, 1, 1); %1,1代表左上角像素点 [lat,lon] = projinv(info, x,y) %这个是左上角的经纬度 如果要右下角的经纬度,把1,1改成最后的那个像素点的位置就可以了 ...

matlab imwrite函数保存图片问题。imwrite(X,map,filename,fmt) 中...
map 是一个列数为3的矩阵,表示颜色表,每行代表一个颜色,每行3个元素代表rgb的亮度 map可以在读取的时候随图像一起读进来 [X,map]=imread('abc.tif');我不知道你现在有什么要存,不过有问题可以问我。、

Matlab如何imwrite,Uint16的灰度图像???
1. 在Matlab命令窗口输入命令:help imwrite会有如下解释:If the input array is of class uint16 and the format supports 16-bit data (JPEG, PNG, and TIFF), imwrite outputs the data as 16-bit values. If the format does not support 16-bit values, imwrite issues an error. Several...

如何用matlab显示并保存非常大的图片?
可以减少内存占用,加快处理速度,从而更轻松地管理大型图像。综上所述,通过Matlab的`print`函数和`imwrite`函数结合使用,或是直接基于数据进行图像渲染,用户能够灵活、高效地处理并保存大型图片。确保在选择输出格式、优化数据处理策略以及合理利用Matlab功能时,能够获得最佳的图像质量和性能。

MATLAB 存储16unit图像的问题
我读取一副16unit的灰度图像(基本为黑色),将之进行切割存入另一文件名中,可是却只能存为double类型的8位图 在Matlab命令窗口输入命令:help imwrite会有如下解释:If the input array is of class uint16 and the format supports 16-bit data (JPEG, PNG, and TIFF), imwrite outputs the data...

matlab中,使用什么程序能增加图像的对比度
1、介绍Matlab中对图像的操作,首先介绍图像的读入。使用imread命令:比如有aa.png文件,我们要读入的话,有两种方法:一是直接双击,出现如下对话框,点击finish就可以了。二是使用命令:aa = imread('aa.png');。2、图像生成之后,以aa为例,要想写入进图像bb.png,使用如下命令:imwrite(aa,'bb....

请教Matlab中strread的使用
>> imwrite(f, 'patient10_run1.tif', 'tif')也可以写成 >> imwrite(f, 'patient10_run1.tif')还可以有其他参数,比如jepg图像还有质量参数:>> imwrite(f, 'filename.jpg', 'quality', q)q是0到100之间的一个整数。对比不同质量的图像效果。用imfinfo命令可以查看一个图像的格式信息,...

相似回答