static BufferedImage byteArrayToGrayBufferedImage(byte[] pixels, int w, int h) { PixelInterleavedSampleModel sm = new( DataBuffer.TYPE_BYTE, w, h, 1, // pixelStride w, // scanlineStride, new int[] {0} // bandOffsets ); DataBufferByte db = new(pixels, pixels.length); WritableRaster wr = Raster.createWritableRaster(sm, db, new Point); ret new BufferedImage(grayColorModel(), wr, false, null); }