0 / 0 / 0
Регистрация: 03.12.2011
Сообщений: 5
1

Сравнение изображений в python

03.12.2011, 16:14. Показов 17184. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.

Сравнение частей 2-х изображений.

Есть 2 изображения. Нужно сравнить конкретные области этих изображений. Положения и формы областей на изображениях идентичны. Нужно автоматически определить является ли изображения внутри этих областей идентичными. Все что вне интересующей области - сравнивать не нужно.

Придумал следующее решение.
- на изображение1 наложить маску, в которую входит всё, кроме интересующей области. Маска накладывается с помощью какого-нибудь графического редактора
- дальше перебираем пиксель за пикселем и если пиксель принадлежит маске - переходим к следующему; если нет - сравниваем с соответствующим пикселем на изображении2
- если нашли соответствующие пиксели не равные друг другу, то изображение изменилось.

Я предполагаю что изображения в формате .png - но это условие не жесткое.

С изображениями никогда не работал поэтому есть вопросы по данной реализации.
Что нужно для реализации на python такого алгоритма? Пока читаю PIL, но ещё ничего интересного не нашел.

Может быть, кто опытнее, предложит более простую реализацию?

Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2011, 16:14
Ответы с готовыми решениями:

Сравнение двух изображений
Есть два изображения (скриншоты которые которые делает питон), конкретнее мини-карта, нужно найти...

Сравнение изображений
Здравствуйте! Знаю, подобные темы обсуждались, но мой вопрос немного другой: есть папка с...

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

Сравнение изображений
Есть абстрактное место публикации изображений. Изображения подбираются разными людьми из разных...

Сравнение изображений
Написана функция, которая сравнивает два изображения и вычисляет смещение одного относительно...

9
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 965
Записей в блоге: 16
03.12.2011, 17:03 2
Здесь http://habrahabr.ru/blogs/infosecurity/116603/ посмотрите
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
03.12.2011, 17:51 3
просто попиксельно сравниваешь

Цитата Сообщение от MrGukk Посмотреть сообщение
на изображение1 наложить маску, в которую входит всё, кроме интересующей области
зачем ? просто в координатах вырази
0
0 / 0 / 0
Регистрация: 03.12.2011
Сообщений: 5
07.12.2011, 18:50  [ТС] 4
Здесь http://habrahabr.ru/blogs/infosecurity/116603/ посмотрите
Спасибо. Помогло.

зачем ? просто в координатах вырази
Не очень понятно как выражать в координатах.
На входе совершенно разные картинки, а объекты имеют произвольную форму.
Имеется ввиду автоматическое выражение?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.12.2011, 18:53 5
Цитата Сообщение от MrGukk Посмотреть сообщение
Есть 2 изображения. Нужно сравнить конкретные области этих изображений. Положения и формы областей на изображениях идентичны. Нужно автоматически определить является ли изображения внутри этих областей идентичными.
Цитата Сообщение от MrGukk Посмотреть сообщение
На входе совершенно разные картинки, а объекты имеют произвольную форму.
как-то не согласуется
0
0 / 0 / 0
Регистрация: 03.12.2011
Сообщений: 5
07.12.2011, 19:04  [ТС] 6
как-то не согласуется
Есть векторная карта (данные) и движок который отображает её на экран. Данные на карте меняются (новые дороги, здания, их цвета), а часть объектов должны оставаться неизменными. Нужно убедиться что эти объекты не изменились.
Таких объектов очень много.

Делается 2 снимка с одного положения камеры - с использованием "старых" данных и "новых".
Они сравниваются. Интересующие объекты на этих снимках не должны меняться.

Но от объекта к объекту снимок естественно меняется и, соответственно, области, которые нужно сравнивать также меняются.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.12.2011, 19:35 7
Цитата Сообщение от MrGukk Посмотреть сообщение
Делается 2 снимка с одного положения камеры - с использованием "старых" данных и "новых".
Они сравниваются. Интересующие объекты на этих снимках не должны меняться.
а как заданы интересующие объекты ?
ищется пересечение старых картинок с новыми, полученный массив сравнивается с определённо заданным интересующим объектом
0
0 / 0 / 0
Регистрация: 03.12.2011
Сообщений: 5
07.12.2011, 19:44  [ТС] 8
Объекты заданы множеством треугольников.

На чем основан алгоритм нахождения пересечения?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.12.2011, 20:02 9
я думал, там точки
0
0 / 0 / 0
Регистрация: 03.12.2011
Сообщений: 5
07.12.2011, 20:07  [ТС] 10
При желании можно достать и точки, но помимо точек есть ещё текстура. Задача проверки отображения в основном.

Добавлено через 2 минуты
И ещё возникает вопрос о связи координат и положения объекта на скрине. Получается что нужно спроецировать положение камеры на оси. С этим могут возникнуть проблемы - например ошибки при округлении, например. Это только догадка. Не проверял.
0
07.12.2011, 20:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2011, 20:07
Помогаю со студенческими работами здесь

Сравнение изображений
Добрый день! Прошу совета по решению проблемы в Матлабе. Суть задачи: есть одно изображение...

Сравнение изображений
ДОБРОЕ ВРЕМЯ СУТОК, уважаемые программисты! У меня будет такой вопрос: Как можно узнать...

Сравнение изображений
Добрый день! Как можно реализовать следующую задачу в Matlab: Есть два изображения, с некоторой...

C# сравнение изображений
Есть изображение в pictureBox1 могу ли я сравнить картинку в боксе с другой картинкой? точней...

Сравнение изображений
Как то давно писал программу которая каждые 10 секунд делает скриншот, вырезает из него часть и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru