gpt4 book ai didi

python - 如何使用 Scikit-Image 库从 Python 中的 RGB 图像中提取绿色 channel ?

转载 作者:太空狗 更新时间:2023-10-29 18:19:55 25 4
gpt4 key购买 nike

我对 Python 中用于图像处理的 scikit-image (skimage) 库非常陌生(几分钟前开始!)。我使用 imread 读取了 numpy.ndarray 中的图像文件。该数组是三维的,其中第三维的大小为 3(即图像的红色、绿色和蓝色分量各一个)。

rgb_image = imread("input_rgb_image.jpg")
rgb_image.shape # gives (1411L, 1411L, 3L)

我尝试将绿色 channel 提取为:

green_image = rgb_image[:,:,1]

但是当我将这个图像矩阵写入输出文件时:

imsave("green_output_image.jpg",green_image)

我得到的图像看起来不仅是绿色的!

最佳答案

您要提取的只是一个 channel ,它会显示每个像素有多少绿色。这最终将可视化为灰度图像,其中较暗的像素表示这些点处没有太多“绿色”,而较亮的像素表示这些点处有大量“绿色”。

如果我正确地解释了您的意思,您希望将每种颜色的“绿色”可视化。在这种情况下,将红色和蓝色 channel 都设置为零,并保持绿色 channel 不变。

所以:

green_image = rgb_image.copy() # Make a copy
green_image[:,:,0] = 0
green_image[:,:,2] = 0

请注意,我已经复制了您的原始图像并更改了 channel ,而不是修改原始图像,以备不时之需。但是,如果您只想提取绿色 channel 并将其可视化为我上面提到的灰度图像,那么使用 green_image 变量的设置执行上述操作就可以了。

关于python - 如何使用 Scikit-Image 库从 Python 中的 RGB 图像中提取绿色 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29718877/

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