ImageMagick で BMP を 24 ビット/ピクセル モードから 16 ビット/ピクセル モードに変換しようとしています。
convert /tmp/a/new/37.bmp -depth 5 -define bmp:format=bmp2 /tmp/a/new/37_v2_16bit.bmp
convert /tmp/a/new/37.bmp -depth 5 -define bmp:format=bmp3 /tmp/a/new/37_v3_16bit.bmp
次の出力によると、結果は R ごと、G ごと、B ごとに同じ 8 ビットになります。
私は何を間違っていますか?BMP で 16 ビットカラーを取得するには?
ありがとうございました!
PS
-深度値
イメージの奥行き。これは、1 ピクセルのビット数です。許容値は 8 または 16 のみです。 http://linux.math.tifr.res.in/manuals/html/convert.html
=(
公式ドキュメントには次のように記載されています(制限は言及されていません):
-深度値
イメージの奥行き。
これは、ピクセル内のカラー サンプルのビット数です。このオプションを使用して、GRAY、RGB、または CMYK などの深度が不明な未加工の画像の深度を指定するか、読み取り後に任意の画像の深度を変更します。
convert /tmp/a/new/37.bmp -colors 256 /tmp/a/new/37_256.bmp
ファイルは小さくなりますが、視覚的には同じです! なに?!))))))
convert /tmp/a/new/37.bmp -colors 65536 /tmp/a/new/37_64k.bmp
同じサイズ、同じビジュアル画像。
convert /tmp/a/new/37.bmp -dither None -colors 256 /tmp/a/new/37_256_nd.bmp
少し小さくなりましたが、256色には見えません! バグ?256 色の 800x600 BMP は ~ 800x600x1 バイト (ヘッダーなし) ~ 480,000 バイトです。しかし、それは〜650 000バイトと言っています))))面白いプログラム))