Я пытаюсь запустить этот код на Python, чтобы прочитать изображение и преобразовать его в матрицу данных, но я столкнулся с ошибкой выше, и я надеюсь, что вы можете помочь мне разобраться в том, что собираемся одинОшибка: слишком много значений для распаковки
from PIL import Image
from numpy import array
import numpy as np
img = Image.open('felix.png')
arr = array(img)
im = Image.open("felix.png")
col,row = im.size
data = np.zeros((row*col, 5))
pixels = im.load()
for i in range(row):
for j in range(col):
r,g,b = pixels[i,j]
data[i*col + j,:] = r,g,b,i,j
print (data)
ошибка, ошибка значения: слишком много значений для распаковки по этой линии: R, G, B = пиксели [I, J]
Благодаря аа много
спасибо большое, Можете ли вы подробно рассказать и помогите мне, что вы имеете в виду, Потому что я совершенно новичок в python, и мне просто нужно найти цвета каждого пикселя и его местоположение x, y. – ali
@ali PNG-файл может быть одним из трех разных форматов пикселей. Он может быть палит, что означает, что каждый пиксель имеет только одно значение, и вы должны использовать его как индекс в палитре, чтобы получить истинный цвет. Это может быть RGB, что означает, что каждый пиксель имеет 3 значения, по одному для красного, зеленого и синего. Или это может быть RGBA с 4 значениями на пиксель, первые 3 являются такими же, как RGB, а четвертый - индикатором того, насколько прозрачным должен быть пиксель, 0 для полностью прозрачного или 255 для полностью непрозрачного. –