24 ビットの ppm (1 色あたり 8 ビット) ファイルを読み取り、トリミングしてサイズを変更し、JAI の ppm/pnm ファイルのサポートを利用して jpeg サムネイルとして保存するプロセスがありました。
元の ppm ファイルを作成する際の品質上の問題により、48 ビットの ppm ファイル (1 色あたり 16 ビット) を作成することにしました。PPM ファイルを読み取ると、[ColorModel: #pixelBits = 24 numComponents = 3 color space = java.awt.color.ICC_ColorSpace@147f330 transparent = 1 has alpha = false isAlphaPre = false] の ColorModel を持つ BufferedImage が取得されます。
画像を jpeg として保存しようとすると、色ごとに 8 ビットを使用しているように非常に奇妙に見えます。これが画像のロード時または保存時に発生するかどうかは不明ですが、ColorModel が 24 ピクセル ビットを示しているため、ロードの問題であると思われます。24 ビット ppm を指定すると、レポートされるカラー モデルは同じになります。
JAI は 24 ビット (1 色あたり 8 ビット) の ppm 画像しかサポートしていませんか? その質問に対する決定的な答えを見つけることができませんでした。
48 ビットの ppm 画像を読み取って、24 ビットの jpeg として保存するにはどうすればよいですか?
任意の提案をいただければ幸いです。