Witam. Mam pytanko. Otóż chciałem przerobić ten skrypt z języka JAVA na inny język, a nie rozumiem jednej funkcji.
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;
}
Otóż mój obiekt zainteresowań stanowią linijki :
yuv[1] = (int)((b - yuv[0]) * 0.492f);
yuv[2] = (int)((r - yuv[0]) * 0.877f);
O co chodzi z tym 0.492f i 0.877f ? Jakie to są liczby w naszym dziesiętnym systemie ??
Proszę o pomoc. Z góry dziękuję.