如何在Python中读取给定像素的RGB值?

189
如果我使用open(“image.jpg”)打开图像,假设我有像素的坐标,怎样才能获得该像素的RGB值?
然后,我该如何反向操作?从一个空白的图形开始,'写入'具有特定RGB值的像素?
我希望不必下载任何其他库。
13个回答

2

使用命令"sudo apt-get install python-imaging"安装PIL,然后运行以下程序。它将打印图像的RGB值。如果图像很大,请使用'>'将输出重定向到文件中,稍后打开文件查看RGB值。

import PIL
import Image
FILENAME='fn.gif' #image can be in gif jpeg or png format 
im=Image.open(FILENAME).convert('RGB')
pix=im.load()
w=im.size[0]
h=im.size[1]
for i in range(w):
  for j in range(h):
    print pix[i,j]

1
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

img=mpimg.imread('Cricket_ACT_official_logo.png')
imgplot = plt.imshow(img)

1
如果你想要以RGB颜色代码的形式显示三个数字,下面的代码应该可以实现。
i = Image.open(path)
pixels = i.load() # this is not a list, nor is it list()'able
width, height = i.size

all_pixels = []
for x in range(width):
    for y in range(height):
        cpixel = pixels[x, y]
        all_pixels.append(cpixel)

这可能适用于你。

如果我有一个提取自图像的区域像素列表(而不是存储为图像的路径),那么如何读取像素值? - just_learning

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接