2014-12-20 2 views
1

Я пробовал этот код:не может использовать im.getcolors

im = Image.open("myimage") 
colors = im.getcolors() 
print colors 

и возвращает значение "None". Поэтому я пробовал это:

im = Image.open("myimage") 
size = im.size 
colors = im.getcolors(size[0]*size[1]) 

И когда я «печатаю цвета» с этим, Python в основном падает. Я не использую огромное изображение. Как я могу заставить его работать?

Моя цель - узнать из изображения, сколько пикселей ближе к черному и сколько пикселей ближе к белому. Может быть, im.getcolors это не правильное решение?

+0

вы можете использовать забавные .getpixels() –

+0

@AvinashBabu с .getpixels() я должен проанализировать их по одному праву? – Mikhaylova

+0

точно ........ –

ответ

3

Изображение должно быть в режиме RGB, чтобы использовать getcolors. Так что попробуйте:

im_rgb = im.convert('RGB') 
    colors = im_rgb.getcolors() 
    print colors 
+0

Кажется, что это работает .. я собираюсь изменить свой вопрос – Mikhaylova

-1
im_rgb = im.convert('RGB') 
colors = im_rgb.getcolors(maxcolors=1000000) #max colors to show 
print(colors) 
Смежные вопросы