matlab imwrite函数以浮点型写入tif文件
我有一个浮点型的矩阵,想把它存成一个TIF文件,但是用imwrite函数存的时候总是会存成整形的数据,请问如何能够直接以浮点型写入TIF文件?...
我有一个浮点型的矩阵,想把它存成一个TIF文件,但是用imwrite函数存的时候总是会存成整形的数据,请问如何能够直接以浮点型写入TIF文件?
展开
1个回答
2014-06-13
展开全部
你这个要求有点奇怪。
TIF格式的数据就应该是整型的,你为什么一定要把浮点数写到TIF文件呢?
一个浮点数占8个字节,而一个uint8只占一个字节,从图像数据来说,RGB三种颜色各8位,24位的数据即可以表达16.7M种颜色,无论从节省存储还是从需求来说,图像数据都没有使用浮点数存储的必要。
如果你想保存浮点数,那应该存成MAT文件,而不是TIF文件。
TIF格式的数据就应该是整型的,你为什么一定要把浮点数写到TIF文件呢?
一个浮点数占8个字节,而一个uint8只占一个字节,从图像数据来说,RGB三种颜色各8位,24位的数据即可以表达16.7M种颜色,无论从节省存储还是从需求来说,图像数据都没有使用浮点数存储的必要。
如果你想保存浮点数,那应该存成MAT文件,而不是TIF文件。
追问
因为我接下来是要用这个tif去跟其他图像做处理的,需要存储类型一致才行。。。
有存成浮点型tif的方法吗?
追答
1、查了一下TIFF格式规范,6.0版的规范确实允许浮点类型的数据,但MATLAB似乎并不支持。
2、查到地图工具箱(Mapping Toolbox)里面有个函数geotiffwrite可以把非图像数据以浮点数的格式写入TIFF文件,不知对你是否有用?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询