Я пытаюсь сравнить два изображения, одно из которых повернуто и сдвинуто. Мне нужно найти преобразование от одного к другому, чтобы я мог передискретизировать и сравнивать/вычитать с помощью VIPS, чтобы увидеть разницу. Есть ли способ сделать это?
Поиск трансформации с помощью VIPS
Ответы (1)
У nip2 есть несколько способов сделать это.
Загрузите два изображения и нажмите Инструменты/Изображения/Преобразование/Линейное соответствие. На ваших двух изображениях появится пара связующих точек: перетащите их, чтобы отметить пару объектов на каждом изображении. Выходное изображение будет вторым изображением, преобразованным в соответствии с первым. Есть несколько вариантов автоматического улучшения ваших связующих очков и только ротации. Это должно быть быстро, даже для очень больших изображений.
Также есть автоматический поиск трансформаций. Автоматический поиск будет работать только для пар изображений, которые достаточно похожи; например, он не сможет сопоставить рентгеновский снимок и видимое изображение. Чтобы попробовать это, загрузите два изображения (они должны быть абсолютно одинакового размера) и нажмите Инструменты/Изображение/Преобразование/Резиновый лист/Найти. Это найдет преобразование, которое сопоставляет второе изображение с первым. Вы можете установить, как долго он ищет и порог ошибки. Это не будет работать для очень больших изображений (более нескольких ГБ).
После того, как вы нашли преобразование, вы можете применить его к любому другому изображению с помощью Toolkits/Image/Transform/Rubber Sheet/Apply. Он будет учитывать изменения масштаба, поэтому вы можете найти его на маленьком изображении и применить к большому.
К сожалению, средство поиска автопреобразования было написано моим другом, и он не может предоставить исходный код. Он скомпилирован в двоичный файл Windows nip2, или в Linux вам нужно загрузить двоичный плагин и поместить его в область библиотеки vips.
http://www.vips.ecs.soton.ac.uk/supported/current/linux-64/