MatLab和OpenCV中的rgb2lab提供不同的结果。

3

我在MatLab和OpenCV中均将一幅RGB图像转换为Lab色彩空间,以便在Lab空间进行颜色处理。在MatLab中,我得到了好的结果,但是在OpenCV中,结果图像很混乱。

我检查了MatLab和OpenCV中RGB值[0 255 0]的转换结果,结果是相同的。但是当我再次转换回去(lab2rgb)时,在MatLab和OpenCV中获得了不同的结果。有什么想法吗?

Lab值为[88 10 68]:

  • 在MatLab中,使用lab2srgb,我得到RGB值[255 212 81]
  • 在OpenCV中,使用CV_Lab2RGB,我得到[255 166 23]

你确定使用了正确的值范围和数据类型吗? - ypnos
1
MatLab和OpenCV中的Lab值范围是多少?我在文档中没有找到相关信息。唯一的提示是,为了比较OpenCV和MatLab中的Lab值,需要将L乘以(100/255),分别从a和b中减去128。 - Fei
2个回答

4

我认为在OpenCV 1.x版本中存在错误,在昨天安装了OpenCV 2.1之后,我的算法正常工作并得到了预期的结果。


0

OpenCV 中的默认图像格式是 BGR。你可能会假设它是按照 RGB 顺序排列的...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接