首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从RGB转换为LAB后从图像中提取L*分量

从RGB转换为LAB后从图像中提取L*分量
EN

Stack Overflow用户
提问于 2018-06-05 04:34:26
回答 1查看 156关注 0票数 3

我正在尝试获取一张RGB图像,将其转换为LAB (也称为CIE L* a* b*)色彩空间,并提取L*分量。

下面是我的代码:

代码语言:javascript
复制
from skimage import io, color
from scipy import misc
import matplotlib.pyplot as plt
import cv2

img = misc.imread("/Users/zheyuanlin/Desktop/opencv_tests/parrots.png", mode='RGB')
img_resized = misc.imresize(img, (256, 256), 'bilinear') # resized to 256x256

img_cielab = color.rgb2lab(img_resized, illuminant='D50')

# Rescale due to range of LAB values being L (0-100), a (-128-127), b (-128-127)
cielab_scaled = (img_cielab + [0, 128, 128]) / [100, 255, 255] 

cie_l, cie_a, cie_b = cv2.split(cielab_scaled)


""" Display the image """
plt.imshow(cie_l)
plt.show()

这是生成的图像:

下面是我在google上找到的一篇研究论文中同一张图片的L*分量的示例:

我不知道为什么我的代码看起来这么绿,有人知道我的代码有什么问题吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-05 09:28:06

您显示的图像与纸张中的图像相同。但是pyplot有一个默认的颜色映射,可以将蓝色、绿色和黄色添加到灰度图像中。

要更改使用的色彩映射表,请使用the set_cmap function

代码语言:javascript
复制
plt.set_cmap('gray')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50688365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档