使用scikit-image将RGB图像转换为LAB

was*_*tor 3 python scikit-image

我正在尝试使用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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Ste*_*alt 5

显示问题归因于Lab值的范围:L(0-100),a(-128-127),b(-128-127).这应该记录下来 - 我们的错误.

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

lab = skimage.color.rgb2lab(cat)
lab_scaled = (lab + [0, 128, 128]) / [100, 255, 255]
Run Code Online (Sandbox Code Playgroud)

LAB Cat

OpenCV的文档描述了这样做的正是这种转换对你来说,如果使用8位的图像.