Регистрация изображения (выравнивание одного изображения в соответствии с другим) - PullRequest
1 голос
/ 13 января 2020

В настоящее время у меня есть изображение, которым нужно манипулировать, чтобы оно соответствовало тому же масштабу, положению и повороту, что и шаблон.

image alignment

серый прямоугольник с кружком посередине - это шаблон. Оранжевый прямоугольник и круг представляют ввод пользователя. Его нужно вращать, масштабировать и выравнивать, чтобы он совпадал с серым. В настоящее время я нахожусь в тупике о том, как действовать. У меня нет кода, кроме следующего.

function align_image()
{
 // clever transform alignment code here
}

Плохая собака, без печенья!

Процесс выравнивания изображений обычно выполняется вручную и оценивается на глаз. Я надеюсь автоматизировать этот шаг и выровнять изображение в соответствии с его размером и положением, но оставив комфорт и безопасность Photoshop DOM, я не уверен, как действовать, или даже если это тривиальный вопрос или лучше оставить его в покое. В настоящее время проект основан на веб-технологиях и использует javascript и три. js

Так что, если кто-нибудь может дать мне несколько советов, я бы оценил его.

1 Ответ

1 голос
/ 13 января 2020

Я не кодирую javascript, поэтому я могу говорить только об алгоритме. Как правило, лучший инструмент для регистрации - это использовать методы сопоставления объектов (используя sift, surf, ...), но ваше изображение не обладает такими сильными функциями. Теперь, если вы всегда имеете дело с прямоугольниками и кругами на своих изображениях, найдите «края» прямоугольника с помощью Hough Transform , вычислите угол этих ребер (линий), затем поверните изображение на этот угол в обратное направление.

Затем с помощью Hough Circle Detector найдите центр окружностей в середине изображений, рассчитайте расстояние между ними и переместите целевой прямоугольник в исходная позиция круга. После перемещения, сравнивая радиус окружностей, вы можете изменить размер целевого изображения, чтобы сделать его похожим на исходный прямоугольник.

Все это удобно сделать с помощью Opencv.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...