2017-12-12 3 views
4

"L"は変換コードLbgrtoLabの意味を知っていますか?私はウェブで検索し、この変換コードに関する説明を見つけることができません。現在、BgrtoLab/LbgrtoLabの両方を使用しようとしましたが、同じ画像ソースを使用してAとBチャンネルの値が異なることがわかりました。 LBgrがより良い結果を得ることができるようだ。OpencvSharp LbgrtoLab

現在、私はOpenCvSharp 2.4.10を使用しています。

答えて

4

この色変換コードの意味は文書化されていないようですが、OpenCVはオープンソースライブラリですので、source codeを参照してください。

case COLOR_BGR2Lab: case COLOR_RGB2Lab: case COLOR_LBGR2Lab: case COLOR_LRGB2Lab: 
case COLOR_BGR2Luv: case COLOR_RGB2Luv: case COLOR_LBGR2Luv: case COLOR_LRGB2Luv: 

    // .... 

    bool srgb = code == COLOR_BGR2Lab || code == COLOR_RGB2Lab 
     || code == COLOR_RGB2Luv || code == COLOR_BGR2Luv; 

    // .... 

     if (srgb && usRGBGammaTab.empty()) 
      Mat(1, 256, CV_16UC1, sRGBGammaTab_b).copyTo(usRGBGammaTab); 
     else if (ulinearGammaTab.empty()) 
      Mat(1, 256, CV_16UC1, linearGammaTab_b).copyTo(ulinearGammaTab); 

    // .... 

これは接頭Lが非線形(のsRGB)及びリニアRGBカラースペースを区別することを意味することを示唆しています。この意味の詳細については、this answerを参照してください。