3

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 は画像を自動的に圧縮するだけで、私には制御できないように思えます。画像タイプの変更も拒否します。

これを回避するためのアイデアはありますか?ピクセル深度を強制する方法はありますか?

4

0 に答える 0