我正在运行此代码,它将图像的值作为Array输出,但是RGB和Alpha具有四个值,我如何删除最后一个值,以便仅处理RGB im。

from PIL import Image, ImageFilter
import numpy as np

ImageLocation = Image.open("images/numbers/0.1.png")

#Creates an Array [3d] of the image for the colours
ImageArray = np.asarray(ImageLocation)

print(ImageArray)


这是我对每个像素的输出,我只希望输出RGB,而不是第4列。

[[[255 255 255 255]
  [255 255 255 255]
  [  0   0   0 255]
  [  0   0   0 255]
  [  0   0   0 255]
  [  0   0   0 255]
  [255 255 255 255]
  [255 255 255 255]]

最佳答案

您可以像这样对numpy数组进行切片:

rgb = my_array[:,:,:3]


另外,由于您使用的是PIL:

im = Image.open("path/to/image")
rgb = im.convert('RGB')

10-05 23:17
查看更多