如何使用skimage.rgb2lab将二维灰度图像转换到LAB颜色空间?
问题解决方法
首先你提到的「二维数组仅含2个颜色通道」大概率是表述误差,常规灰度图为H×W的二维单通道结构,若确实是带alpha通道的双通道图像,可先提取首个灰度通道再做后续转换。适配skimage.color.rgb2lab输入要求的常用方案有两种:
- 方案1:手动将单通道灰度图扩展为三通道RGB格式再转换
灰度图转等效RGB格式仅需将灰度值复制到R、G、B三个通道即可,转换后调用rgb2lab得到的LAB结果中A、B通道数值均接近0,符合灰度图像的色彩特征。示例代码如下:import numpy as np from skimage import color # gray_img为输入的二维灰度数组,形状为(H, W) rgb_equiv = np.repeat(gray_img[..., np.newaxis], 3, axis=-1) lab_img = color.rgb2lab(rgb_equiv) - 方案2:直接调用灰度转LAB的原生接口
skimage提供了原生支持单通道灰度输入的color.gray2lab接口,无需手动扩展维度,输出结果和方案1完全一致,代码更简洁:from skimage import color # 直接输入二维灰度数组即可 lab_img = color.gray2lab(gray_img)
内容的提问来源于stack exchange,提问作者tuxasus
相关产品推荐
相关产品推荐

