tiff檔案的處理已經基本上完成了,在此寫下自己對tiff檔案處理的總結。
1.tiff檔案是以tag作為資料的組織方式的,關於tiff檔案的所有內容都可以通過tag【tag <->value】的形式讀寫。
2. tiff檔案頭
0~1:位元組序
2~3:版本號
4~7:第一組tag(也可以叫第一幅/頁圖)的偏移量。注意位元組序。
3.通過偏移量找到第一組tag。剛開始的兩個位元組是當前頁tag的數量。然後下面依次是每個tag的內容
tag標籤(2)
資料型別(2)
數量(4)
值或檔案偏移量(4)
4.對於大檔案讀寫時移動檔案指標使用c語言函式 _fseeki64
rrrrrrrrrrr...rrrrrrrrrrr (256個short資料)
gggggggggg....gggggggggg(256個short資料)
bbbbbbbbbbb...bbbbbbbbbbbbb(256個short資料)
6.tiff中畫素的儲存方式是bgr,但是的顯示順序是rgb。注意順序
7.注意多頁的處理
8.讀取檔案時可以整行讀入記憶體,然後再處理。以提高處理速度。
9.tiff中特別要注意臨時變數的數值溢位最大值,tiff檔案很大時或者一行掃瞄線集中了所有行
TIFF檔案讀取總結
去年工作中,有用到tiff影象處理。開始的時候直接用qt的qimage進行影象載入。然後發現大的tiff影象用這個載入不進去。尋找原因,是由於tiff影象分為標準tiff和big tiff兩種格式,而qt的qimage只支援標準的格式。然後,用gdal庫支援big tiff格式讀取。然後發現在tif...
如何用python讀取和寫入TIFF檔案2
之前用以上方法生成的影象貌似cmv會出現pixel value exceeds destination range.的錯誤。原因是cmv只能讀取1024 1024或2048 2048的影象。關於生成tiff的方法,貌似用pure python module更好一點,即 from libtiff im...
tiff檔案讀取若干問題
2.讀取檔案報錯 執行時提示,檢查發現 沒有問題,讀取 如下 tiff tiff char szfilename d mongodb data 40405.tif tiff tiffopen szfilename,r 開啟tiff檔案 報錯提示 網上找的 出現這種情況似乎是只能讀取印刷格式的影象,r...