2012-04-14 18 views

答えて

1

を使用できImagemagick:また

convert image.png -depth 2 data.rgb 
+0

出力はどのように整理されていますか? 1バイトあたり複数のビットを置くように見えますが、正確にはわかりません。 –

1

:あなたはそれぞれ赤、緑、青のチャンネルのために2ビットが必要な場合

convert image.png -depth 2 data.gray 

あなただけのグレースケールチャネルをしたい場合David's commandに設定する場合は、-sizeと次のいずれかを設定することをお勧めします。

convert -depth 2 -size 1x<number-pixels> f.png f.gray 
convert -depth 2 -size <number-pixels>x1 f.png f.gray 

これは後で使用する最も簡単な出力であるためです。

ビットはアドレス可能ではないため、何らかの形でバイトに整理する必要があります。

私はこれのために文書を発見していないが、簡単な例では、パターンを示しています

printf "%10s" | sed 's/ /\xFF\x00/g' > f.gray 
convert -depth 8 -size 1x20 f.gray -depth 2 g.gray 
hd g.gray 
convert -depth 8 -size 2x10 f.gray -depth 2 g.gray 
hd g.gray 
convert -depth 8 -size 10x2 f.gray -depth 2 g.gray 
hd g.gray 
convert -depth 8 -size 20x1 f.gray -depth 2 g.gray 
hd g.gray 

私たちは、10回繰り返し1 0ビットの入力ファイルを作成しました。 2ビットの深さへの変換ができます:

00000000 c0 00 c0 00 c0 00 c0 00 c0 00 c0 00 c0 00 c0 00 |................| 
* 
00000014 

00000000 c0 c0 c0 c0 c0 c0 c0 c0 c0 c0     |..........| 
0000000a 

00000000 cc cc c0 cc cc c0         |......| 
00000006 

00000000 cc cc cc cc cc         |.....| 
00000005 

は、だから、深さ< 8場合は、ImageMagickには、ライン状に動作すると思われ、ビットの欠落0パッド。

私は1ピクセルあたり1ビットでテストしましたが、この理論は一貫していました。

ImageMagick 6.7.7-10、Ubuntu 14.04でテスト済みです。

関連する問題