【问题标题】:rgb2lab in MatLab and OpenCV provide different resultsMatLab 和 OpenCV 中的 rgb2lab 提供不同的结果
【发布时间】: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。

标签: matlab opencv


【解决方案1】:

我认为 OpenCV 1.x 中存在错误,因为在昨天安装 OpenCV 2.1 后,我的算法运行良好,并且得到了预期的结果。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-09
      • 1970-01-01
      • 2017-02-24
      • 2015-08-02
      • 2020-10-01
      • 2015-04-11
      • 2015-09-26
      • 1970-01-01
      相关资源
      最近更新 更多