Обработка изображения: подсчет отдельных числовых пикселей в изображении маски с использованием Pillow и 3D Numpy - PullRequest
0 голосов
/ 12 июля 2020

Пожалуйста, помогите мне. Мне нужно мнение по этой проблеме. Я пытаюсь подсчитать индивидуальное количество значений R, G, B изображения маски.

У меня есть изображение, которое замаскировано, заполнено зеленым фоном, и оно маскирует человека красным и объект с синим.

Размер изображения и тип данных: (1536, 2048, 3) uint8

Я попытался получить доступ к массиву numpy пикселей

img_path = "sample.png"
i = Image.open(img_path, 'r')
data = asarray(i)
array = np.array(i)

Но в массиве отображается только зеленый фон. Примерно так.

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

Он не показывает красный и синий цвет изображения

Я пробовал getpixel ()

i = Image.open(img_path, 'r')
r, g, b = i.getpixel((0, 0))
print("Red: {}, Green: {}, Blue: {}".format(r, g, b))

Не учитываются красный и синий цвета изображения маски.

Как подсчитать количество пикселей R, G, B в изображении маски?

Где Могу я узнать больше о доступе и подсчете общего количества пикселей с помощью numpy и подушки?

Расскажите, пожалуйста, что-нибудь связанное с этим.

1 Ответ

0 голосов
/ 12 июля 2020
from PIL import Image
with Image.open('hopper.jpg') as im:
    px = im.load()

r, g, b = px[x, y]
print(r, g, b)

Этот код работал у меня. x и y координаты пикселей. Вы можете получить полную информацию по здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...