Создайте нежесткую матрицу преобразования из двух совпадающих облаков точек

У меня есть два 2D-облака точек, оба сопоставляются друг с другом. Это означает, что я уже знаю, что точка X в исходном облаке точек представлена ​​точкой Y в целевом облаке точек. Моя цель — создать матрицу преобразования, с помощью которой я смогу не только сопоставить источник с целевым облаком точек, но и использовать матрицу для вычисления соответствующей позиции других дополнительных точек на целевом компьютере, которые добавляются к источнику. -ПК позже.

Я уже пытался использовать самописное простое жесткое преобразование (включая растяжение/вращение/движение одного компьютера), но поскольку преобразование между двумя компьютерами включает какое-то неравномерное растяжение, это решение недостаточно точно для меня. Для справки см. 1 для двух примеров ПК, 2 представляет мою попытку жесткой трансформации. Я полагаю, что необходимо нежесткое преобразование.

Поэтому я уже изучил различные библиотеки Python, например, различные наборы инструментов elastix или другие проекты, такие как probreg(https://github.com/neka-nat/probreg). Проблема в том, что все они либо принимают изображения в качестве входных данных, а не координаты точек, и/или (поправьте меня, если я ошибаюсь) только выполняют регистрацию и не создают матрицу преобразования, с помощью которой я мог бы позже преобразовать дополнительные точки. Знаете ли вы какие-нибудь полезные библиотеки Python и/или можете ли вы указать мне правильное направление для создания такой матрицы?

Спасибо за вашу помощь

0 ответов

Другие вопросы по тегам