Zamiana RGB na YUV

0

Potrzebuje zmienic obrazek z koloru RGB na YUV potem go przemnożyć przez jakas wartosc lub odjac(dodac) jakis skladnik, zmienic znowu na RGB i wyswietlic. Algorytm na zamianę z RGB na YUV i odwrotnie już napisałem ale chciałbym się dowiedzieć jak mam uzyskać kolor piksela w RGB. To znaczy jest metoda getRGB ale zwraca mi ona int'a a ja bym potrzebował wartość w integerach poszczególnych red green blue. Jak to zrobic?

    private int[] rgb2yuv(int r,int g, int b) 
    {
        int[] yuv = new int[3];
        
        yuv[0] = (int)(0.299 * r + 0.587 * g + 0.114 * b);
	yuv[1] = (int)((b - yuv[0]) * 0.492f); 
	yuv[2] = (int)((r - yuv[0]) * 0.877f);
        
        return yuv;
    }
    
    private int[] yuv2rgb(int y, int u, int v)
    {
        int[] rgb = new int[3];
        
        rgb[0] = (int)(1.164*(y - 16) + 1.596*(v - 128));
        rgb[1] = (int)(1.164*(y - 16) - 0.813*(v - 128) - 0.391*(u - 128)); 
        rgb[2] = (int)(1.164*(y - 16) + 2.018*(u - 128));
        
        return rgb;
    }
0

O to właśnie mi chodziło dzięki wam bardzo;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1