gpt4 book ai didi

python - 在 Python 中,单 channel 图像的形状是个问题

转载 作者:太空宇宙 更新时间:2023-11-04 04:27:11 24 4
gpt4 key购买 nike

我拍摄了一张 256x256 RGB 图像并将其切换为 YCbCr,

我创建了只导入 Y channel 的代码

这是我的代码:

from PIL import Image
import numpy as np

im = Image.open ('test.bmp')
img = im.convert ('YCbCr')
arr_img = np.asarray (img)
arr_img = arr_img [:,:, 0]

img = Image.fromarray (arr_img)
img.show ()

这样做之后,我用我想要的 Y channel 创建了一个图像。

我很开心

但问题就出在这里。

我运行了这段代码

print (np.shape (arr_img))

在这里,我想要的是 (256, 256, 1)。

但是,上面的代码输出的是(256, 256)。

所以我将“arr_img = arr_img [:,:, 0]”更改为“arr_img = arr_img [:, :, :1]”。

但是,由于错误,它没有运行。

我把RGB图像做成了三个 channel 的YCbCr图像,

当我只导入第一个 channel “Y”时,我以为它会是大小 (256, 256, 1)

如何得到 (256, 256, 1) 的形状?

最佳答案

一种可能性是手动添加缺失的维度:

arr_img = np.zeros( [256,256] )

arr_img = arr_img.reshape( * arr_img.shape, 1 )

关于python - 在 Python 中,单 channel 图像的形状是个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53278307/

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