ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

16bit TIFFを読み込みたい

2011年05月25日 21時02分59秒 | ソフト開発日記
16bitのTIFFをJavaのDataInputStreamで読み込もうとすると、
なんかおかしなことになる。

調べてみると、TIFFはヘッダに何バイトか情報が入っているらしい。
しかし、何故か簡単に調べられなかったので,計算することに。

tifファイルのサイズは、1024*1024の画像で 2,097,350 バイト。
すなわち、2,097,350 * 8 = 16,778,800 ビット。
1pixelあたり16bitなので、pixelに使われてない容量は、

16,778,800 - (1024 * 1024 * 16) = 1584 bit = 198 bite

198バイトというよくわからないデータが余っていました。
ということで、TIFFのヘッダは198バイトということと予想。
198バイト分はじめに読み捨てたらうまくいきました。
(リトルエンディアンとビッグエンディアンを入れ替える必要もありました。)

ヘッダにどんな情報が入っているかは触れないことにします。