Transforming an image to gray-scale in Java -
i want display gray scale image (16 bits per pixel). far, have this:
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);
now, question how set 16-bit intensity values arow
abufferedimage
?
based on http://java.itags.org/java-tech/17212/, convert byte array int or double array (to have 1 array cell per pixel), , use writableraster.setsamples()
or writableraster.setpixels()
. avoid doing byte-to-ushort conversion yourself, can use datainputstream.readunsignedshort()
.
Comments
Post a Comment