Kep konverzio: JPG> grayscale 8byte aray

Fórumok

Sziasztok,

ELeg regen volt, hogy HUP-ra posztoltam, de sajnos nem nagyon van mas otletem kitol kerjek segitseget a kornyezetemben. Van egy enginem aminek szeretnek kepeket dobalni kulonbozo muveletekre, kovetelmeny, hogy YUV jellegu graysacle 8byte array-ra legyen konvertalva amit elvileg meg is csinalok egy java kodban, de valamiert meg mindig visszadobja az engine a kepet.

Tudtok ebben picit segiteni? Mit rontok el? Esetleg tanacs?


/*1. lepes: kep olvasasa*/
BufferedImage source = ImageIO.read(new File("/home/nuke/img/img2.jpg"));
int type = source.getType() == 0 ? BufferedImage.TYPE_INT_ARGB:source.getType();

/*2.lepes: kep atmeretezese*/
BufferedImage resizeImageJpg = resizeImage(source, type);
//ImageIO.write(resizeImageJpg, "jpg", new File("c:\\img\\image\\dice_jpg.jpg"));

/*3. lepes: Kep szurekarnyalatos konvertalasa*/
BufferedImage gray = new BufferedImage(resizeImageJpg.getWidth(), resizeImageJpg.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
ColorConvertOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null);
op.filter(resizeImageJpg, gray);

WritableRaster raster = gray.getRaster();
//ImageIO.write(gray, "jpg", new File("c:\\img\\image\\dice_gray_jpg.jpg"));

/*4. lepes: Szurkearnyalatos kep byte arraybe*/
DataBufferByte data = (DataBufferByte) raster.getDataBuffer();
byte[] rawPixels = data.getData();
System.out.println("BYTES---------- "+rawPixels.length);//+ Arrays.toString(rawPixels));

Elore is koszi!
N.

Hozzászólások

Pontosan mi kell neked?
Csak a Y komponens egy n*m-es matrixban 0-255 koze skalazva?