public static BufferedImage bufferedImageFromRosMessageRaw(ColorModel colorModel, sensor_msgs.Image imageMessage) { int width = imageMessage.getWidth(); int height = imageMessage.getHeight(); byte[] payload = imageMessage.getData().array(); BufferedImage ret = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); DataBuffer dataBuffer = new DataBufferByte(payload, payload.length, imageMessage.getData().arrayOffset()); SampleModel sampleModel = colorModel.createCompatibleSampleModel(width, height); WritableRaster raster = Raster.createWritableRaster(sampleModel, dataBuffer, null); ret.setData(raster); return ret; }
public static BufferedImage bufferedImageFromRosMessageRaw(ColorModel colorModel, sensor_msgs.Image imageMessage) { int width = imageMessage.getWidth(); int height = imageMessage.getHeight(); byte[] payload = imageMessage.getData().array(); BufferedImage ret = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); DataBuffer dataBuffer = new DataBufferByte(payload, payload.length, imageMessage.getData().arrayOffset()); SampleModel sampleModel = colorModel.createCompatibleSampleModel(width, height); WritableRaster raster = Raster.createWritableRaster(sampleModel, dataBuffer, null); ret.setData(raster); return ret; }