2010-11-09 171 views
3

我将MatLab和OpenCV中的RGB图像转换为Lab-colorspace,以便在Lab-space中进行一些颜色处理。在MatLab中,我获得了很好的结果,但是在OpenCV中,结果图像很混乱。MatLab和OpenCV中的rgb2lab提供了不同的结果

我检查了在MatLab和OpenCV中RGB值[0 255 0]的转换rgb2lab的结果,结果是一样的。但是当转换回来(lab2rgb)时,我在MatLab和OpenCV中得到了不同的结果。任何想法为什么?

的实验室值是[88 10 68]:

  • 在Matlab我得到[255 212 81]通过在OpenCV中使用lab2srgb
  • RGB值我得到[255 166 23]通过使用CV_Lab2RGB
+0

你确定使用正确的值范围和数据类型吗? – ypnos 2010-11-09 11:20:45

+1

MatLab和OpenCV中的Lab值在哪个范围内?我无法找到任何关于它的事情。只有为了比较来自OpenCV和MatLab的Lab值,我必须将L与(100/255)相乘,然后分别将a和b相减。 – zhurora 2010-11-16 13:17:05

回答

4

我认为OpenCV 1.x中有一个错误,因为昨天安装OpenCV 2.1后,我的算法工作正常,我得到了我期待的结果。

0

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

+0

我很确定我以正确的顺序使用RGB或BGR。 – zhurora 2010-11-16 13:15:23

相关问题