Поиск трансформации с помощью VIPS

Я пытаюсь сравнить два изображения, одно из которых повернуто и сдвинуто. Мне нужно найти преобразование от одного к другому, чтобы я мог передискретизировать и сравнивать/вычитать с помощью VIPS, чтобы увидеть разницу. Есть ли способ сделать это?


person JoeD    schedule 18.04.2016    source источник


Ответы (1)


У nip2 есть несколько способов сделать это.

Загрузите два изображения и нажмите Инструменты/Изображения/Преобразование/Линейное соответствие. На ваших двух изображениях появится пара связующих точек: перетащите их, чтобы отметить пару объектов на каждом изображении. Выходное изображение будет вторым изображением, преобразованным в соответствии с первым. Есть несколько вариантов автоматического улучшения ваших связующих очков и только ротации. Это должно быть быстро, даже для очень больших изображений.

Также есть автоматический поиск трансформаций. Автоматический поиск будет работать только для пар изображений, которые достаточно похожи; например, он не сможет сопоставить рентгеновский снимок и видимое изображение. Чтобы попробовать это, загрузите два изображения (они должны быть абсолютно одинакового размера) и нажмите Инструменты/Изображение/Преобразование/Резиновый лист/Найти. Это найдет преобразование, которое сопоставляет второе изображение с первым. Вы можете установить, как долго он ищет и порог ошибки. Это не будет работать для очень больших изображений (более нескольких ГБ).

После того, как вы нашли преобразование, вы можете применить его к любому другому изображению с помощью Toolkits/Image/Transform/Rubber Sheet/Apply. Он будет учитывать изменения масштаба, поэтому вы можете найти его на маленьком изображении и применить к большому.

К сожалению, средство поиска автопреобразования было написано моим другом, и он не может предоставить исходный код. Он скомпилирован в двоичный файл Windows nip2, или в Linux вам нужно загрузить двоичный плагин и поместить его в область библиотеки vips.

http://www.vips.ecs.soton.ac.uk/supported/current/linux-64/

person jcupitt    schedule 18.04.2016
comment
Попробую это. Тем не менее, я хочу сделать это как часть веб-приложения, и мне нужно что-то, что будет работать, по крайней мере, как вызов командной строки. Есть ли какая-то польза в сочетании с OpenCV для части преобразования? - person JoeD; 18.04.2016
comment
Вам нужно искать трансформацию или вы используете связующие точки? - person jcupitt; 18.04.2016
comment
У меня просто есть 2 изображения для сравнения, и мне нужно найти преобразование, которое нужно применить, чтобы выровнять их и вычесть их, чтобы получить разницу. Поэтому я изучаю разные библиотеки, чтобы сделать это. - person JoeD; 18.04.2016
comment
Похоже, opencv будет лучшим выбором для поиска преобразования. vips могут быть полезны для фактической передискретизации. - person jcupitt; 19.04.2016