русский
Germany.ruForen → Архив Досок→ Programmierung

Простой и понятный алгоритм сравнения картинок

02.09.18 20:02
Re: Простой и понятный алгоритм сравнения картинок
 
  ilghiz знакомое лицо
in Antwort AlexNek 02.09.18 19:44

Спасибо большое, AlexNek, за ссылки! При беглом просмотре по Вашим ссылкам происходит сравнение без поворота, а это - очень просто двухмерным FFT делается. Грубо говоря, берем каждую картинку добиваем с краем немного нулей, делаем Фурье, потом, поэлементно результаты друг на друга умножаем и ищем максимум. Этот максимум, вернее его двухмерный индекс, соответствует сдвигу первой картинки относительно второй. То есть если у меня аффинное преобразование - только сдвиг, то тут все идеально. Но у меня-то как раз поворот с приближением-удалением...


Я исхожу из того, что такое должно быть, только из того факта, что практически любой известный факт из области вычислительной математики можно рассказать и описать понятно, и часто на пальцах это программируется тоже довольно коротко. Такое сравнение, как мне надобно, постепенно становится обыденным и уже встроено в кучу пакетов типа тензорфлоу и иже с ними, но все описывают это какой-то мистикой. Я сам, грешным делом, лет семь назад тоже такое программировал, но получилась реально тонна кода и мне это очень не нравится и я, к сожалению, не могу коротко объяснить как это работает.


Если задача простая и понятная, то и решение должно быть простым и понятным.

 

Sprung zu