David.Ko

          Follow my heart!
          posts - 100, comments - 11, trackbacks - 0, articles - 0
             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          TIFF圖像文件分析

          Posted on 2010-07-12 13:29 David.Ko 閱讀(411) 評論(0)  編輯  收藏 所屬分類: Android
          轉載于:http://blog.csdn.net/windcsn/archive/2005/11/16/530915.aspx

          一、           介紹

          TIFF全名 tag image file format,是一種基于標志域的圖形。

          TIFF圖像是靠指針連接來組織數據的,文件頭和數據可以任意數據的存儲。TIFF由四種類型:TIFF-B,二色;TIFF-G,黑白灰度;TIFF-P,帶調色板的彩色圖形;TIFF-R,適合RGB色彩的圖形。

           

           

          二、           組成

          TIFF一般來說由四部分組成:文件頭、文件目錄、目錄內容、圖像數據;如下圖,下面具體說明。

          三、           具體格式

          1.        文件頭部分

          文件頭部分有8個字節,格式為:

          0                                      2                                      4

          II/MM(表示字節序)

          42(版本號)

          文件目錄在整個文件的偏移量,是一個指針,指向IFD的開始部分

          5                                                                                                                                                                                                                                                                              8

          注意這里的值不一定就是緊接頭后的0A地址,可以是任意的。

           

           

          2.        文件目錄部分

          0                                    2                                      14

          IFD的總項數

          1(12個字節)

          2。。。。(12個字節)

          下一個IFD的開始地址(用于保存多個文件)

          每個項的12個字節,其是連續的,有前兩個字節說明其項的總數。對于不同的TIFF格式文件,這里的不同。

           

           

          3.        目錄項

          每個目錄項由12個字節組成,格式如下:

           

           

          TAG(2個字節)

          TAG的數據類型

          數據長度

          數據值或值的偏移(文件范圍)

          TAG的值由TIFF標準定義;不同的TAG表示不同的意思,例如0X0100表示圖像的寬度。

          TAG的數據類型表示數據值的類型;例如使用long類型來表示寬度。

          數據長度是以數據類型為單位的,真正的數據長度是:數據長度*sizeof(數據類型)

          數據值或值的偏移:如果數據長度小于4個字節,一般直接以該字段來表示其值,如果其值大于4個字節,就指定一個文件范圍的偏移地址,從那里開始的“數據長度*sizeof(數據類型)”個字節表示該標志的值。

           

           

          4.        圖像數據:

          緊接上面數據之后就是圖像數據了;圖像數據的存儲形式有不同的形式,有以像素位來存儲的,也有以顏色面來存儲的;具體的存儲方式在目錄項中定義。

          四、           一些TAG

          TAG

          說明

          十進制

          16進制

          256

          100

          圖像寬度

          257

          101

          圖像高度

          258

          102

          BitsPerSample,對于RGB8,8,8,通過偏移來表示

          259

          103

          壓縮方式(1/2/32773),1為不壓縮

          262

          106

          光度滴定,對于RGB圖,該值是2

          273

          111

          帶的偏移,每個帶是不同的

          277

          115

          每像素的顏色成分,對于RGB這個值一般是3,如果需要其他有ExtraSamples標志

          278

          116

          每帶的行數

          279

          117

          每帶中壓縮之后的數據字節常長度

          284

          11C

          每個分量(R,GB)是怎么存儲的,1表示按照RGBRGB的順序來存儲

          296

          128

          XresolutionYresolution的單位

          更多的參考TIFF標準

           

           

          五、           一個TIFF文件格式分析



          主站蜘蛛池模板: 泗水县| 乌拉特前旗| 红安县| 五台县| 珲春市| 阿瓦提县| 贵定县| 太谷县| 丘北县| 乌海市| 阜阳市| 绥棱县| 漾濞| 会东县| 瑞金市| 孝义市| 甘泉县| 泉州市| 怀柔区| 双桥区| 阆中市| 秭归县| 顺昌县| 改则县| 桐梓县| 宝坻区| 惠东县| 辽阳市| 吉木乃县| 昌乐县| 蒲城县| 新和县| 江阴市| 荆州市| 从化市| 南木林县| 谢通门县| 永定县| 宜兴市| 南康市| 祁门县|