【发布时间】:2013-04-09 00:37:49
【问题描述】:
我将 MatLab 和 OpenCV 中的 RGB 图像转换为 Lab-colorspace,以便在 Lab-space 中进行一些颜色操作。在 MatLab 中我得到了很好的结果,但在 OpenCV 中,结果图像很乱。
我在 MatLab 和 OpenCV 中检查了 rgb2lab 对 RGB 值 [0 255 0] 的转换结果,结果是一样的。但是当转换回来(lab2rgb)时,我在 MatLab 和 OpenCV 中得到不同的结果。知道为什么吗?
Lab 值为 [88 10 68]:
- 在 Matlab 中,我使用 lab2srgb 得到 [255 212 81] 作为 RGB 值
- 在 OpenCV 中,我使用 CV_Lab2RGB 得到 [255 166 23]
【问题讨论】:
-
您确定使用了正确的值范围和数据类型吗?
-
MatLab 和 OpenCV 中的 Lab 值在哪个范围内?我找不到任何关于它的东西。只有为了将 OpenCV 中的 Lab 值与 MatLab 进行比较,我必须将 L 乘以 (100/255),分别用 128 减去 a 和 b。