有人知道在转换代码LbgrtoLab中"L“是什么意思吗?我在网上搜索,找不到关于这个转换代码的任何描述,目前我尝试使用BgrtoLab / LbgrtoLab,我发现使用相同图像源的A和B通道的值是不同的。似乎LBgr可以得到更好的结果。
目前我使用的是OpenCvSharp 2.4.10。
发布于 2017-12-12 23:37:48
尽管这个颜色转换代码的含义似乎没有文档记录,但也没有必要失望-- 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);
// ....这表明前缀RGB旨在区分非线性(sRGB)和线性L颜色空间。有关这意味着什么的更多详细信息,请参阅this answer。
https://stackoverflow.com/questions/47769797
复制相似问题