2010-12-03 31 views
4

私は、Python Imagingを使用して24ビットイメージを16ビットカラー深度に量子化したいと考えています。Python Imaging、画像を16ビット深度に量子化する方法は?

PILは、しかし、これはアウト= im.convertために廃止された(**オプション色)メソッドim.quantizeを提供するために使用(= "P" Image.ADAPTIVEをパレット、色= 256)

残念ながら、256はim.convert()が量子化する色の最大数です(8ビットのみ)。

PIL(または類似)を使用して24ビットイメージを16ビットに量子化するにはどうすればよいですか?

おかげ

+3

私はPILが16ビットグラフィックスをサポートしているとは思わない... http://www.pythonware.com/library/pil/handbook/concepts.htm#mode –

+2

色の点で24ビットは通常8ビットを意味する8ビットの赤色、8ビットの緑色、および8ビットの青色である。 16ビットの色の深度は、通常、1色あたり16ビットを意味します。つまり、色の深さを減らさないようにしています。 PILがこれを処理するかどうかはわかりません。 – neil

+0

合計16ビット(RGBごとに通常3ビット、場合によっては1ビットアルファ、場合によっては4ビットG)またはRGBごとに16ビットを意味するかどうかにかかわらず、16ビットイメージはPILでサポートされません。利用可能なモードは以下の通りです:http://www.pythonware.com/library/pil/handbook/concepts.htm – kindall

答えて

3

あなたはPILに戻って変換した後、あなたの量子化を行い、numpyの配列にあなたのイメージを変換するに見たいと思うかもしれません。

PIL画像に変換するnumpyのモジュールがあります。

+0

これは良い解決策のように見えます。私はOpenCVがここでの画像処理のためにPILよりも有用かもしれないことにも気付く。 – Rich

関連する問題