matlab donetbuilder 32位_Matlab读写TIFF图像

为什么要写本文

科研图像处理中,尤其是涉及生物成像,图像数据格式基本是TIFF。天天打交道的小伙计,自然要深入了解一下啦。

Tiff是什么

Tiff是一种图像文件格式,和jpeg,png等等是一家人吧。Tiff好就好在它是多平台兼容,信息可以无压缩。关于tiff更多的信息可以戳下面这个链接获得。

http://www.fileformat.info/format/tiff/corion.htm

一个豆知识:Tiff是tagged image file format的缩写。

如何在MATLAB中保存

实际上在Matlab里使用imwrite( )是可以保存单张tiff图像的,但在磕盐中经常要处理一个stack的图像,所以imwrite( )就无法满足啦。

不过Matlab里提供了LibTIFF库的MATLAB入口:Tiff( )。如果想要获得更详细的信息,自行 doc tiff就可以啦。下面只摘取与保存图像相关的。

1. 创建TIFF文件,设置文件访问格式

MATLAB函数:obj = Tiff(filename, mode)

  • obj就是创建的Tiff对象
  • filename是文件名,要带上格式后缀吼,比如filename = ‘img.tiff’
  • mode是文件访问类型,默认是‘r’读,保存文件的话这里要修改。对于单张图像,改成 'w' 就好啦,如果是多张的话,改成 'a' 。

419ee545642f8b80166fc649aee4722a.png
文件格式说明
t 

2. 设置图像标记

创建文件后,在写入数据前,要先设置以下标记:

  • ImageWidth:图像宽度
  • ImageLength:图像长度
  • BitsPerSample:比特数/一个像素样本。磕盐中常用的三种叭,8位,16位,32位。
  • SamplePerPixel:像素样本数/一个像素
  • PlanarConfiguration:存储配置。chunky是连续存储每个像素的分量值,seperate是分开存储每个通道。在磕盐中处理的大多数为单通道灰度图像,这个设置都可。
  • Photometric:图像数据颜色空间。有好多种可以选,具体可以doc看看。磕盐处理的灰度图像,一般选'MinIsBlack',即像素值为0时是黑色的。
  • SampleFormat:像素样本格式。uint8和uint16时选择'UInt',32位single时选'IEEEFP'(IEEE浮点数据)
  • Compression:磕盐中当然选无压缩啦
t

3. 把数据写入文件

写就完事惹

t.write(img);
t.close;            %写完把文件关了

如何在MATLAB中读取

直接用imread( )的话只能读一张,读多张的话需要一波自行操作,写个循环反复读取拼接。

tiffInfo 

源码

让我捯饬一下塞到github仓库叭,有空了更新

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值