2016-10-17 1 views
0

Я хотел бы перебрать изображение в python. Это мой код до сих пор:Итерация над изображением в python

def imageIteration(greyValueImage): 
    for (x,y), pixel in np.ndenumerate(greyValueImage): 
     vals = greyValueImage[x, y] 
     print(vals) 

Проблема здесь ист я получаю следующее исключение:

for (x,y), pixel in np.ndenumerate(greyValueImage): 
ValueError: too many values to unpack 

Теперь мой вопрос является то, что это самый быстрый способ решить эту проблему? Мне действительно нужно разделить изображение на несколько стилей, но сделав этот шаг, как мне получить счетчик необходимых циклов, не опробовав?

Спасибо за ваши идеи

P.s. im = Image.open (args ["image"]) im_grey = im.convert ('LA') # преобразовать в оттенки серого

ответ

1

Вы не можете его распаковать. Просто сделайте

def imageIteration(greyValueImage): 
    for index, pixel in np.ndenumerate(greyValueImage): 
     x, y, _ = index 
     vals = greyValueImage[x, y] 
     print(vals) 

Потому что ndenumerate возвращает список значений 2 из 2, и номер. http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndenumerate.html

+0

Исключение: x, y = индекс ValueError: слишком много значений для распаковки –

+0

@ JürgenK. можете ли вы напечатать (индекс) и посмотреть, что на самом деле находится в этой переменной? –

+0

@Sardorbeck. x, y = индекс ValueError: слишком много значений для распаковки –

 Смежные вопросы

  • Нет связанных вопросов^_^