gpt4 book ai didi

python - 如何获取图像的红色 channel 颜色空间?

转载 作者:太空狗 更新时间:2023-10-30 00:13:32 34 4
gpt4 key购买 nike

我正在尝试获取图像的红色 channel 颜色空间,目前我正在这样做,我得到了一个灰度图像:

img = img[:,:,2]

但我想要这样的图片:

enter image description here

上图,上图为红色 channel 色彩空间图像,下图为原图。为实现这一形象究竟做了什么?

我也试过

img[:,:,0] = 0
img[:,:,1] = 0

但是得到的结果并不如人意。这是一篇关于红色 channel 色彩空间的文章:https://en.wikipedia.org/wiki/RG_color_space

最佳答案

实际上,您预期的输出图像不是原始图像的红色 channel 颜色空间。它是一种应用于输入图像的COLORMAP。好消息是 OpenCV 提供了多个内置颜色图。坏消息是您预期的输出不能由 OpenCV 的内置颜色图生成。但是不要放弃,您可以使用 cv2.LUT() 使用自定义查找表来映射颜色。功能。

为了更好地演示,这里有一些图片示例:

img = cv2.imread('origin.png')
im_color = cv2.applyColorMap(img, cv2.COLORMAP_HSV)
cv2.imshow('mapped_image', im_color)
# cv2.imwrite('result.png', im_color)
cv2.waitKey(0)

enter image description here

这里是所有 OpenCV 的 COLORMAP:

print [sub for sub in dir(cv2) if sub.startswith('COLORMAP_')]
['COLORMAP_AUTUMN', 'COLORMAP_BONE', 'COLORMAP_COOL', 'COLORMAP_HOT', 'COLORMAP_HSV', 'COLORMAP_JET', 'COLORMAP_OCEAN', 'COLORMAP_PINK', 'COLORMAP_RAINBOW', 'COLORMAP_SPRING', 'COLORMAP_SUMMER', 'COLORMAP_WINTER']

使用自定义查找表映射颜色的示例 cv2.LUT() :

table = np.array([( i * invert_value) for i in np.arange(256)]).astype("uint8")
cv2.LUT(image, table)

关于python - 如何获取图像的红色 channel 颜色空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36334040/

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