Ger*_*inZ 83 python rgb image pixel python-imaging-library
是否可以使用PIL获得像素的RGB颜色?我正在使用此代码:
im = Image.open("image.gif")
pix = im.load()
print(pix[1,1])
Run Code Online (Sandbox Code Playgroud)
但是,它仅输出一个数字(例如0或1)而不是三个数字(例如,60,60,60对于R,G,B).我想我不了解这个功能.我喜欢一些解释.
非常感谢.
Lev*_*von 134
是的,这样:
im = Image.open('image.gif')
rgb_im = im.convert('RGB')
r, g, b = rgb_im.getpixel((1, 1))
print(r, g, b)
(65, 100, 137)
Run Code Online (Sandbox Code Playgroud)
您之前获得单个值的原因pix[1, 1]是因为GIF像素引用GIF调色板中的256个值之一.
另请参阅此SO帖子:GIF和JPEG的Python和PIL像素值不同,此PIL参考页面 包含有关该convert()功能的更多信息.
顺便说一下,你的代码可以很好地用于.jpg图像.
小智 9
使用 numpy :
im = Image.open('image.gif')
im_matrix = np.array(im)
print(im_matrix[0][0])
Run Code Online (Sandbox Code Playgroud)
给出位置 (0,0) 像素的 RGB 向量