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;
}