David.Ko

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

          TIFF圖像文件分析

          Posted on 2010-07-12 13:29 David.Ko 閱讀(404) 評論(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,對于RGB888,通過偏移來表示

          259

          103

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

          262

          106

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

          273

          111

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

          277

          115

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

          278

          116

          每帶的行數

          279

          117

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

          284

          11C

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

          296

          128

          XresolutionYresolution的單位

          更多的參考TIFF標準

           

           

          五、           一個TIFF文件格式分析



          主站蜘蛛池模板: 石柱| 金寨县| 沂南县| 阿鲁科尔沁旗| 无为县| 绥中县| 松滋市| 嘉定区| 东光县| 嵩明县| 东安县| 巴林左旗| 开平市| 宁国市| 墨竹工卡县| 昌黎县| 龙川县| 响水县| 类乌齐县| 华容县| 永昌县| 潜山县| 蒲江县| 察哈| 明星| 突泉县| 万全县| 曲阳县| 石楼县| 娱乐| 图片| 康保县| 都安| 剑阁县| 封丘县| 山西省| 泾源县| 宁阳县| 平陆县| 拉萨市| 肥东县|