Python経由でImageMagickを使用して、大きな画像を小さなタイルにカットするツールに取り組んでいます。そして、すべてのタイルを同じ形式 (png、8 または 16 ビット) にする必要があります。
ほとんどの場合、問題なく動作しますが、単色のタイルでは、ImageMagick はファイルの書き込み時に画像を圧縮します。たとえば、純粋な黒のタイルは 1 ビットの画像に圧縮されます。
docsで説明されているように、プレーンな保存方法を使用します。
この自動圧縮機能に関するドキュメントも、これを回避する方法も見つかりませんでした。
これに対する回避策、またはこれを回避する方法はありますか?
編集:
たとえば、次のコードを使用して 24 ビットの RGB 画像をインポートするとします。
from wand.image import Image
img = Image(filename ='http://upload.wikimedia.org/wikipedia/commons/6/68/Solid_black.png')
print img.type
私はこれをタイプとして取得します
bilevel
これを追加すると、
img.type = 'grayscale'
print img.type
もう一度私は得る
bilevel
このようにピクセル深度を強制しようとすると、
img.depth = 16
print img.type
print img.depth
私は得る:
bilevel
16
もしかしたら実際に深度が変わったのではないかと思ったのですが、画像を保存するとまた1ビット深度になりました。
したがって、ImageMagick は画像を自動的に圧縮するだけで、私には制御できないように思えます。画像タイプの変更も拒否します。
これを回避するためのアイデアはありますか?ピクセル深度を強制する方法はありますか?