我使用的是opencv 2.4.3,我使用了这个函数:
cvtColor(img,CV_BGRtoLab)
我也试过CV_LBGRtoLab
,我把它与matlab中的类似函数进行了比较。
cform = makecform('srgb2lab');
lab_he = applycform(image, cform);
他们正在提供不同的图像。
显然有些帖子告诉我他们使用的白点光源是不同的。我需要他们匹配,我打算自己实现它。我可以参考c ++中的任何实现吗?
答案 0 :(得分:0)
请参阅this page中的功能rgb2lab(int R, int G, int B, int []lab)
。该想法首先转换为XYZ
,然后转换为lab
。它还包含其他颜色空间之间的转换。