2011-02-28 54 views
1

グレースケール画像(16ビット/ピクセル)を表示したい。これまでのところ、私はこの持っている:Javaで画像をグレースケールに変換する

DataInputStream aFile = new DataInputStream(new FileInputStream("filename.raw")); 
BufferedImage aBufferedImage = new BufferedImage(2000, 2000, BufferedImage.TYPE_USHORT_GRAY); 
WritableRaster aRaster = aBufferedImage.getRaster(); 
byte[] aRow = new byte[2000*2]; 
aFile.readFully(aRow, 0, 2000*2); 

は今、私の質問はどのように私はaBufferedImageaRowから16ビットの強度値を設定しないということですか?

答えて

0

http://java.itags.org/java-tech/17212/に基づいて、バイト配列をintまたはdouble配列(ピクセルあたり1つの配列セルを持つ)に変換してから、WritableRaster.setSamples()またはWritableRaster.setPixels()を使用できます。自分でバイトからマイクロソフトへの変換を行わないようにするには、DataInputStream.readUnsignedShort()を使用します。

関連する問題