Meu problema é simples, eu tenho um BufferedImage e quero poder ler os pixels dele no formato YCbCr sem ter que sambar muito.
Minha atual tentativa:
ColorSpace space = ColorSpace.getInstance(ColorSpace.TYPE_YCbCr);
ComponentColorModel model = new ComponentColorModel(space, false, false, Transparency.OPAQUE, DataBuffer.TYPE_DOUBLE);
WritableRaster raster = model.createCompatibleWritableRaster(8, 8);
this.image.copyData(raster); //this.image -> BufferedImage 8x8 em sei lá qual ColorModel
//pronto! só ler do meu raster
Eu imaginei que isso ia funcionar, mas falha miseravelmente da seguinte forma:
WTF?? Como assim esse color space é desconhecido? Por que raios existe a constante maldita? Pra me fazer de trouxa?
E agora, alguem tem idéia de como resolver esse embrólio? Antes de responder, já digo, eu NÃO quero ter que primeiro converter pra RGB e depois pra YCbCr manualmente, quero usar a sacana da API do java.
Ahh, quase ia esquecendo
java -version -> 1.5.0-b64