|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Aug 2010
Messaggi: 7
|
[JAVA] conversione pixels di un immagine da rgb a yuv
Per motivi didattici/personali mi sono trovato costretto a dover studiare la gestione delle immagini in java e ad implementare un metodo per la conversione di un immagine dal dominio rgb a yuv e viceversa.
Solo che on line non ho trovato molto vi chiedo quindi un piccolo aiutino Grazie a tutti per il tempo dedicatomi. Ciaoooo ps: non vi sto chiedendo il codice, ma qualche suggerimento per farlo |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#3 | |
|
Junior Member
Iscritto dal: Aug 2010
Messaggi: 7
|
Quote:
come libreria esterna sto usando JAI ma per ciò che riguarda la conversione da rgb a yuv non ha niente di predefinito. provo a dare un occhiata alla pagina che mi hai dato in modo da vedere se trovo qualcosa di utile. |
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Aug 2010
Messaggi: 7
|
ok ho fatto dei grandi passi avanti, riporto il codice:
Codice:
public BufferedImage rgb2yuv(BufferedImage bi){
BufferedImage img = null;
Transform tf = new Transform();
int numBands = bi.getSampleModel().getNumBands();
int w= bi.getWidth();
int h=bi.getHeight();
int[] pixelsimmrgb = new int[w*h];
bi.getRGB(0, 0, w, h, pixelsimmrgb,0 ,w );
int[] pixelsimmyuv = new int[w*h];
Color c;
int r,g,b;
int y,u,v;
for(int i1=0; i1<pixelsimmrgb.length;i1++){
c = new Color(pixelsimmrgb[i1]);
r =c.getRed();
g=c.getGreen();
b=c.getBlue();
y = (int)(0.299 * r + 0.587 * g + 0.114 * b);
u = (int)((b - y) * 0.492);
v = (int)((r - y) * 0.877);
c= new Color(y,u,v); //dà errore in runtime perchè il range di g non è rispettato nella conversione alcuni valori sono negativi
}
// img = tf.createBi(bi, numBands, pixelsimmyuv);
return img;
}
qualche suggerimento? Ultima modifica di antedesk : 30-08-2010 alle 14:13. Motivo: errore nella trascrizione |
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Aug 2010
Messaggi: 7
|
risolto... se a qualcuno interessa mi può contattare per mail ^^ ciao
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:34.




















