[VC++] Luminacja i Chrominacja

0

Witam. Co to właściwie jest ta luminacja i chrominacja i jak ją obliczyć dla pixeli jakiegos obrazka?

0

luminancja i chrominancja sa uzywane przez wszystkie monitory i telewizory do wyswietlenia obrazu, poniewaz jest to spowodowane budowa monitora (niedotyczy to paneli LCD) chodzi tu o dzialko elektronowe lub jak to tam sie zwie...
budowy telewizora nie bede opisywal (bo nie znam :P) ale luminancja i chrominancja wchodza w sklad systemu barw YUV. my zazwyczaj poslugujemy sie RGB
a tak to sie mniej wiecej oblicza:

typedef struct TYUVTriple {
  Byte Y;
  double U;
  double V;
} yuv_tr;

TYUVTriple __fastcall RGB2YUV(TRGBTriple rgbtr)
{
  TYUVTriple retval;
  retval.Y=(Byte)(0.299*rgbtr.rgbtRed+0.587*rgbtr.rgbtGreen+0.114*rgbtr.rgbtBlue);
  retval.U=0.493*(rgbtr.rgbtBlue-retval.Y);
  retval.V=0.877*(rgbtr.rgbtRed-retval.Y);
//  lub alternatywnie dla U i V
//  retval.U=-0.147*rgbtr.rgbtRed-0.289*rgbtr.rgbtGreen+0.437*rgbtr.rgbtBlue;
//  retval.V=0.615*rgbtr.rgbtRed-0.515*rgbtr.rgbtGreen-0.1*rgbtr.rgbtBlue;
  return retval;
}
0

Chodzi o to, że jakąś barwę mozna rozłożyc na luminancje i 2 zmiene chrominancyjne, czyli na zmienne odpowiadajace za jasność i odpowiadajacą za kolory. Są różne systemy kolorów, o nich i o kupie innych tematów związanych z obrazami mozesz przeczytac w publikacji, do której dojście napisałem w odpowiedzi do posta "przetwarzanie obrazu" (3 tematy nad tym).

0

dzieki, ale dziwna rzecz ta luminacja i chrominacja :P, musze poczytac te wyklady... pozdrawiam

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