【问题标题】:Converting RGB images to LAB using scikit-image使用 scikit-image 将 RGB 图像转换为 LAB
【发布时间】:2018-02-08 19:49:15
【问题描述】:

我正在尝试使用 skimage 将 RGB 图像转换为 LAB 色彩空间,但结果似乎只是噪声。使用 opencv 的相同操作似乎可以工作。

cat = io.imread('https://poopr.org/images/2017/08/22/91615172-find-a-lump-on-cats-skin-632x475.jpg')
cat_sk_image_lab = skimage.color.rgb2lab(cat)
plt.imshow(cat_sk_image_lab)
cat_cv_lab = cv2.cvtColor(cat, cv2.COLOR_BGR2LAB)
plt.imshow(cat_cv_lab)

【问题讨论】:

  • 我对这个问题中的以下内容感到困惑:如果cat 是RGB 图像,因为io.imreadskimage.color.rgb2lab 的使用似乎表明,为什么将cv2.cvtColor 与选项COLOR_BGR2LAB?为什么不COLOR_RGB2LAB
  • 我的错误。应该是 RGB2LAB

标签: python scikit-image


【解决方案1】:

显示问题是由于 Lab 值的范围是:L (0-100)、a (-128-127)、b (-128-127)。这确实应该记录在案--our mistake

要显示 Lab 图片,您可以将各个波段重新缩放到所需的范围 (0-1):

lab = skimage.color.rgb2lab(cat)
lab_scaled = (lab + [0, 128, 128]) / [100, 255, 255]

OpenCV docs 描述了为您进行这种转换,如果使用 8 位图像。

【讨论】:

    猜你喜欢
    • 2012-11-04
    • 2021-02-24
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2013-04-15
    • 2010-12-14
    • 1970-01-01
    相关资源
    最近更新 更多