Как прочитать значение RGB данного пикселя в Python? - PullRequest
111 голосов
/ 26 сентября 2008

Если я открою изображение с open("image.jpg"), как я могу получить значения RGB пикселя, если у меня есть координаты пикселя?

Тогда, как я могу сделать обратное? Начиная с пустого изображения, «написать» пиксель с определенным значением RGB?

Я бы предпочел, если бы мне не нужно было загружать дополнительные библиотеки.

Ответы [ 13 ]

1 голос
/ 17 июня 2018
from PIL import Image
def rgb_of_pixel(img_path, x, y):
    im = Image.open(img_path).convert('RGB')
    r, g, b = im.getpixel((x, y))
    a = (r, g, b)
    return a
1 голос
/ 27 июля 2017
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

img=mpimg.imread('Cricket_ACT_official_logo.png')
imgplot = plt.imshow(img)
0 голосов
/ 12 марта 2018

Если вы хотите иметь три цифры в виде цветового кода 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)

Это может сработать для вас.

...