TIFF文件的处理已经基本上完成了,在此写下自己对TIFF文件处理的总结。
1.TIFF文件是以TAG作为数据的组织方式的,关于TIFF文件的所有内容都可以通过TAG【TAG <->VALUE】的形式读写。
2. TIFF文件头
0~1:字节序
2~3:版本号
4~7:第一组TAG(也可以叫第一幅/页图)的偏移量。注意字节序。
3.通过偏移量找到第一组TAG。刚开始的两个字节是当前页TAG的数量。然后下面依次是每个TAG的内容
4.对于大文件读写时移动文件指针使用C语言函数 _fseeki64
TAG标签(2) 数据类型(2) 数量(4) 值或文件偏移量(4) 5.对于8位索引TIFF图片,ColorMap的数据组织方式为如下:
RRRRRRRRRRR...RRRRRRRRRRR (256个short数据)
GGGGGGGGGG....GGGGGGGGGG(256个short数据)
BBBBBBBBBBB...BBBBBBBBBBBBB(256个short数据)
6.TIFF图片中像素的存储方式是BGR,但是图片的显示顺序是RGB。注意顺序
7.注意多页图片的处理
8.读取文件时可以整行读入内存,然后再处理。以提高处理速度。
9.TIFF图片中特别要注意临时变量的数值溢出最大值,TIFF文件很大时或者一行扫描线集中了所有行