Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

наложение изображений python

271
27 июля 2010 года
MrXaK
721 / / 31.12.2002
1. Есть два изображения, одно png RGB, другое png 8-bit (оттенки серого). Размеры одинаковые (512х512). Надо то место, где на втором изображении определённый цвет (допустим 156), как-то выделить на первом (подсветить например, или сделать другой цвет). Можно в лоб перебирать пиксели, сделав например numpy.asarray(img), но это долго работает. Есть ли какие-нибудь другие подходы?

2. Есть одно изображение png 8-bit, надо подсчитать количество пикселей одного цвета в квадратике с заданными размерами. Опять же, можно ли решать задачу не в лоб?
1.8K
27 июля 2010 года
LM(AL/M)
332 / / 20.12.2005
а вы не используете Python Imaging Library? к сожалению сейчас нет времени разбираться есть ли там нужная вам ф-циональность, но я обычно использую PIL для работы с картинками
271
28 июля 2010 года
MrXaK
721 / / 31.12.2002
c PIL получается примерно следующее:
 
Код:
for y in range(0, im1.size[1], 1):
    for x in range(0, im1.size[0], 1):
        if im2.getpixel( (x,y) ) == 156:
            im1.putpixel( (x,y), (255,0,0) )

но они даже в мануалах говорят, что getpixel() медленная, что в принципе ощущается..
285
28 июля 2010 года
Romik
479 / / 24.11.2002
Image.composite(image1, image2, mask) => image

Creates a new image by interpolating between the given images, using the mask as alpha. The mask image can have mode "1", "L", or "RGBA". All images must be the same size.

разве это не то что вам нужно?
68K
17 февраля 2011 года
b_s_berry
1 / / 09.02.2011
у мну такая же проблема
271
26 мая 2011 года
MrXaK
721 / / 31.12.2002
не знаю как у вас в задаче, но оказалось, что getpixel/putpixel не такая уж и медленная и работает приемлимо)) хотя для реалтайма я думаю не сгодится, но там уже и не PIL надо юзать..
composite не подходит, потому что сначала надо построить эту маску для наложения, а в моей задаче это то же самое, что впрямую наложить цвета) или я недочитал мануал по маске))

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог