Получение списка пиксельных значений от PIL

Хорошо это - больше, чем просто веб-сервисы. Это также позволит Вам размещать другие типы связанных приложений. Плюс он обеспечивает интегрированный доступ к другому программному обеспечению MS на облаке; т.е. SharePoint, Exchange, CRM, сервисы данных SQL, и позволят Вам полностью настраивать и расширять те предложения таким же образом, что Вы были бы в состоянии настроить и расширить их, если бы они были размещены на месте.

33
задан dbr 10 July 2009 в 20:56
поделиться

3 ответа

Python не должен давать сбой при вызове getdata (). Возможно, образ поврежден или что-то не так с вашей установкой PIL. Попробуйте это с другим изображением или опубликуйте изображение, которое вы используете.

Это должно разбить изображение так, как вы хотите:

from PIL import Image
im = Image.open('um_000000.png')

pixels = list(im.getdata())
width, height = im.size
pixels = [pixels[i * width:(i + 1) * width] for i in xrange(height)]
60
ответ дан 27 November 2019 в 17:28
поделиться

You can use the portable versions of firefox (3.5, older versions). You can install as many versions of firefox side-by-side as you want, but you can only run one version at any time.

Если вы хотите выполнять вычисления только для каждой строки, вы можете пропустить добавление всех пикселей в промежуточный список .. Например, чтобы вычислить среднее значение каждой строки:

from PIL import Image
i = Image.open("myfile.png")

pixels = i.load() # this is not a list
width, height = i.size
row_averages = []
for y in range(height):
    cur_row_ttl = 0
    for x in range(width):
        cur_pixel = pixels[x, y]
        cur_pixel_mono = sum(cur_pixel) / len(cur_pixel)
        cur_row_ttl += cur_pixel_mono

    cur_row_avg = cur_row_ttl / width
    row_averages.append(cur_row_avg)

print "Brighest row:",
print max(row_averages)
15
ответ дан 27 November 2019 в 17:28
поделиться

If you have numpy installed you can try:

data = numpy.asarray(im)

(I say "try" here, because it's unclear why getdata() isn't working for you, and I don't know whether asarray uses getdata, but it's worth a test.)

35
ответ дан 27 November 2019 в 17:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: