c# - OpencvSharp LbgrtoLab

标签 c# opencv

有谁知道转换代码 LbgrtoLab 中的“L”是什么意思?我在网上搜索并找不到关于此转换代码的任何描述,目前我尝试同时使用 BgrtoLab/LbgrtoLab,我发现使用相同图像源的 A 和 B channel 中的值不同。看起来LBgr可以得到更好的结果。

目前我正在使用 OpenCvSharp 2.4.10。

最佳答案

尽管这个颜色转换代码的含义似乎没有记录,但也不必绝望——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 .

关于c# - OpencvSharp LbgrtoLab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47769797/

相关文章:

c++ - 在 openCV 中更改单个像素颜色

python - 如何查找图像中的多个条形码

c++ - 在 Opencv 中找不到带有函数的标识符,如何解决?

c# - 条件接口(interface)

c# - 验证 FinishButtonClick 上的所有向导步骤

c# - C# 中 ComVisible 类中的接口(interface)继承

c# - 在 Xamarin.Forms 中将图像转换为字节数组

c# - 30 秒后连接超时

python - 为什么 cv2.imwrite 滞后 1 步?

c++ - 使用OpenCv使用一系列图像在相机校准中计算本征估计误差和本征误差