Witam, szukam już od kilku dni jak matematycznie zmienić kolory RGB na Lab i CMYK. Proszę o jakieś wskazówki.
Z góry dziękuję.
Pozdrawiam
Witam, szukam już od kilku dni jak matematycznie zmienić kolory RGB na Lab i CMYK. Proszę o jakieś wskazówki.
Z góry dziękuję.
Pozdrawiam
Może przydadzą Ci się te linki :
http://www.delphi3000.com/articles/article_306.asp?SK=
http://www.codeproject.com/KB/applications/xcmyk.aspx
int Y, U, V;
this->image->LockBits( this->rect, System::Drawing::Imaging::ImageLockMode::ReadWrite, this->image->PixelFormat );
this->koloryYUV = gcnew array<Byte>(this->bytes);
for ( int counter = 0; counter < this->koloryRGB->Length; counter +=3 )
{
Y = (0.299 *koloryRGB[ counter+2 ]) + (0.587*koloryRGB[ counter+1 ]) + (0.114 *koloryRGB[ counter ]);
U = koloryRGB[ counter ]-Y;
V = koloryRGB[ counter +2 ]-Y;
koloryYUV[ counter+2 ] = V;
koloryYUV[ counter+1 ] = U;
koloryYUV[ counter ] = Y;
}
System::Runtime::InteropServices::Marshal::Copy( this->koloryYUV, 0, this->ptr, this->bytes );
image->UnlockBits( this->bmpData );
this->pictureBox1->Image = image;
Tak dokonuję konwersji z RGB na YUV jednak kolory są bardzo dziwne, gdzie robię błąd.
Proszę o wskazówki.
Pozdrawiam
Bo ją źle robisz ;) http://en.wikipedia.org/wiki/YUV#Mathematical_derivations_and_formulas