gpt4 book ai didi

python - 从RGB转LAB后的图像中提取L*分量

转载 作者:行者123 更新时间:2023-11-28 17:06:25 24 4
gpt4 key购买 nike

我正在尝试获取 RGB 图像,将其转换为 LAB(又名 CIE L* a* b*)色彩空间,然后提取 L* 分量。

这是我的代码:

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()

这是生成的图像: This is the image shown by plt

这是我在谷歌上找到的一篇研究论文中同一图像的 L* 分量示例: enter image description here

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

最佳答案

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

要更改使用的颜色贴图,请使用 the set_cmap function :

plt.set_cmap('gray')

关于python - 从RGB转LAB后的图像中提取L*分量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50688365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com