Russian Qt Forum

Программирование => Алгоритмы => Тема начата: ecspertiza от Август 11, 2009, 12:58



Название: Сравнение двух изображений
Отправлено: ecspertiza от Август 11, 2009, 12:58
Если честно не знал куда вопрос постить сюда или в "Алгоритмы" но все таки запостил сюда, в общем тема такова что нужно сравнить два изображения, они могут быть разные по размерам и т.д. кроме того сравнивать нужно довольно таки быстро, сразу скажу что попиксельное сравнение не катит, может есть у КуТе какие то способы наложения друг на друга и выявления схожих или наоборот областей? Или может кто нибудь подбросит алгоритм сравнения? Я пока пробовал PSNR , но что то у меня не прокатило.


Название: Re: Сравнение двух изображений
Отправлено: pastor от Август 11, 2009, 13:04
Можно подсчитывать и сравнивать контрольные суммы двух файлов изображений (к примеру, по алгоритму MD5)


Название: Re: Сравнение двух изображений
Отправлено: MoPDoBoPoT от Август 11, 2009, 13:20
Можно подсчитывать и сравнивать контрольные суммы двух файлов изображений (к примеру, по алгоритму MD5)
:) не все так просто, автор писал, что изображения могут быть разные по размерам и т.д. Только что имеется ввиду - разные разрешения картинок?
По-моему это из области сложных задач и копать надо в сторону искусственных нейронных сетей, которые решают задачи распознавания образов и др.


Название: Re: Сравнение двух изображений
Отправлено: pastor от Август 11, 2009, 13:31
:) не все так просто, автор писал, что изображения могут быть разные по размерам и т.д.

Откровенно недочитал ))


Название: Re: Сравнение двух изображений
Отправлено: kuzulis от Август 11, 2009, 13:49
Цитировать
По-моему это из области сложных задач и копать надо в сторону искусственных нейронных сетей, которые решают задачи распознавания образов и др.
Именно! К QT не имеет никоим боком отношения!


Название: Re: Сравнение двух изображений
Отправлено: ecspertiza от Август 11, 2009, 14:13
Только что имеется ввиду - разные разрешения картинок?

да именно разрешение может быть разное, а если использовать ИИ то в какую сторону именно то копать?

Я и непредпологал что всё так серьёзно :)


Название: Re: Сравнение двух изображений
Отправлено: ecspertiza от Август 11, 2009, 15:02
Суть такова, есть два изображения, нужно сделать их сравнение на сколько они схожи, разрешение у них может быть разное,  на выходе нужно получить ответ либо да они похожи либо нет, ещё как вариант вычислять процент схожести, попиксельно сравнивать очень плохой вариант, может кто нибудь знает алгоритм или в какую сторону копать? Тут же на форуме предложили воспользоваться нейронной сетью, но может есть что попроще?


Название: Re: Сравнение двух изображений
Отправлено: Пантер от Август 11, 2009, 16:18
Был под Линухой просмотрщик фоток, который позволял искать дубликаты, но не помню название. Можно было бы оттуда выдернуть.


Название: Re: Сравнение двух изображений
Отправлено: kuzulis от Август 11, 2009, 18:38
Цитировать
Тут же на форуме предложили воспользоваться нейронной сетью, но может есть что попроще?
нету! задачи такого плана решаются с использованием мат. аппарата нейронных сетей! и все программы, которые работают с изображениями используют именно такие методы. это позволяет как раз таки выводить процент схожести! Поищи в инете (погугль) на тему "карты Кохонена", т.к ничего определенного думаю тут не скажут. Да и задача это не из простых, совсем не из простых! :)



Название: Re: Сравнение двух изображений
Отправлено: Khs от Август 11, 2009, 21:51
Цитировать
http://www.codeguru.com/Cpp/G-M/bitmap/article.php/c4885 (http://www.codeguru.com/Cpp/G-M/bitmap/article.php/c4885)

http://www.perlmonks.org/?node_id=317813 (http://www.perlmonks.org/?node_id=317813)

http://www.codeproject.com/KB/GDI-plus/comparingimages.aspx (http://www.codeproject.com/KB/GDI-plus/comparingimages.aspx)

http://www.len.ro/2007/01/som-neural-networks/ (http://www.len.ro/2007/01/som-neural-networks/)

http://stackoverflow.com/questions/304384/how-do-i-compare-two-images-recognize-the-pattern-in-an-image (http://stackoverflow.com/questions/304384/how-do-i-compare-two-images-recognize-the-pattern-in-an-image)

Глянь вот несколько ссылок, не знаю, может поможет..


Название: Re: Сравнение двух изображений
Отправлено: ecspertiza от Август 13, 2009, 07:50
Всем спасибо за помошь, я завис в поиске решения, может если что и напишу то обязательно выложу.


Название: Re: Сравнение двух изображений
Отправлено: Tonal от Август 13, 2009, 10:05
В зависимости от типа изображений можно подобрать несложный алгоритм.
Например, если изображения чёрно-белые контурные, в них можно векторизовать грани, смасштабировать и сравнивать вектора. :)
Если цветные фотографии, можно применить их размыть и смасштабировать до одинакового размера, а потом вычесть друг из друга.
Если тексты - их можно распознать и сравнивать.
Для других типов тоже можно подобрать что-нибудь подобное. :)

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