FFMPEG之图片系列 --- tif 格式
来源:互联网 发布:金山软件管家下载 编辑:程序博客网 时间:2024/05/20 18:17
TIFF: Tag-Based Image File Format, 基于标签的图像文件格式。是一种灵活的位图格式,主要用来存储包括照片和艺术图在内的图像。它最初由Aldus公司与微软公司一起为PostScript打印开发。TIFF与JPEG和PNG一起成为流行的高位彩色图像格式。TIFF格式在业界得到了广泛的支持,如Adobe公司的Photoshop、The GIMP Team的GIMP、Ulead PhotoImpact和Paint Shop Pro等图像处理应用、QuarkXPress和Adobe InDesign这样的桌面印刷和页面排版应用,扫描、传真、文字处理、光学字符识别和其它一些应用等都支持这种格式。从Aldus获得了PageMaker印刷应用程序的Adobe公司现在控制着TIFF规范。
下图展示了TIFF文件中可存储的数据类型及标签中需要存储的图像属性参数:
格式特点:
1. TIFF可以描述多种类型的图像,二值图,灰度图像,索引图像,RGB图像,YCbCr图像等;
2. TIFF拥有一系列的压缩方案可供选择,无压缩,1维修改霍夫曼编码;PictBits,LZW,JPEG等;
3. TIFF不依赖于具体的硬件;
4. TIFF是一种可移植的文件格式;
可扩展性:
在TIFF 6.0中定义了许多扩展,他们允许TIFF提供以下通用功能:
1. 前面提到的集中压缩方法;
2. 多种色彩表示方法;
3. 图像质量增强;
4. 特殊图像效果;
5. 文档的存储和检索帮助。
格式复杂:
TIFF文件的复杂性给开发者带来了一些问题。一方面,要写一种能够识别所有不同标记的软件非常困难。另一方面,一个TIFF文件可以包含多个图像,每个图像都有自己的IFD和一系列标记,并且采用了多种压缩算法。这样也增加程序涉及的复杂度。
下面就TIFF文件结构做大致描述:
TIFF文件以.tif为扩展名。其数据格式是一种3级体系结构,从高到低依次为:文件头,一个或多个称为IFD的包含参数属性的标签的目录和数据。
图像文件头信息(Image File Header):8字节头信息
Bytes 0-1: 字节序标识: 4949.H表示小端字节序;4D4D.H表示大端字节序。
Bytes 2-3:标识任意值,一般取42.H,注意字节序。
Bytes 4-7:指向文件中第一个IFD的偏移量。
图像文件目录IFD(Image File Directory):
Bytes 0-1: 前两个字节代表了此文件文件目录中有多少个目录项(Directory Entry).
Bytes 2~12*N+1: 每一个目录项12字节;其每一项定义如下:
Bytes 0-1:目录项标签,用来表示此目录项的参数属性;
Bytes 2-3:表示目录项的数据类型;
Bytes 4-7: 数据域的数据长度,长度以第二项表示的数据类型为单位;
Bytes 8-11:若数据可以存储在此域,则为这个目录项的对应值,否则为值在文件中偏移量。
Bytes 12*N+2~12*N+5:下一个IFD在此文件中的字节偏移, 当当前的IFD为文件最后一个IFD时,此域为0。
关于Directory Entry中的tag详细信息,可以参考:https://www.loc.gov/preservation/digital/formats/content/tiff_tags.shtml#intro
- FFMPEG之图片系列 --- tif 格式
- FFMPEG之图片系列 --- png格式
- MATLAB读取tif格式图片的错误
- ffmpeg分析系列之三(输入输出格式)
- ffmpeg分析系列之三(输入输出格式)
- ffmpeg分析系列之三(输入输出格式)
- 非BMP TIF格式图片上传 屏幕显示该图片
- MATLAB 将多页.tif格式的图片转成多张单页的图片
- jai给tif格式的图片加水印
- ffmpeg分析系列之四(探测输入的格式)
- ffmpeg分析系列之六(再次探测输入的格式)
- ffmpeg分析系列之四(探测输入的格式)
- ffmpeg分析系列之六(再次探测输入的格式)
- ffmpeg分析系列之四(探测输入的格式)
- ffmpeg分析系列之六(再次探测输入的格式)
- ffmpeg分析系列之六(再次探测输入的格式)
- TIF格式图像文件初探
- TIF格式图像文件初探
- Python 实现,make bricks
- BZOJ 3884 上帝与集合的正确用法 (欧拉函数 找递推公式)
- Jdbc封装公共CRUD方法,十分简便
- 超级简单的Android Studio jni 实现(无需命令行)
- 2.2线性表的顺序表示和实现
- FFMPEG之图片系列 --- tif 格式
- PB使用ODBC连接MYsql乱码问题解决!
- 2017 Multi-University Training Contest
- Java邮件开发(二):使用JMail发送一封图文并茂且包含附件的邮件(上)
- HDU 4417 Super Mario(线段树||树状数组+离线操作 之树状数组篇)
- c++中namespace(命名空间)
- 欢迎使用CSDN-markdown编辑器
- Spring Cloud Eureka Server HA With Docker
- poj 2559 & hdu 1506 Largest Rectangle in a Histogram 笛卡尔树