вращать объект с оптическим потоком? - PullRequest
0 голосов
/ 19 мая 2011

Я довольно новичок в C ++ и openframeworks. Я начинаю играть с объектами, используя технику Lucas Kanade. У меня есть некоторый успех в перемещении объектов вокруг, но, к сожалению, я не могу понять, как правильно вращать их или даже обнаружить, когда вращательное движение происходит в этом отношении.

Есть ли у кого-нибудь советы или подсказки, которыми они хотели бы поделиться?

Большое спасибо, N

Ответы [ 2 ]

0 голосов
/ 11 февраля 2013

Для вычисления матрицы аффинного преобразования 2x3 вашего движения может быть решение. Матрица аффинного преобразования содержит трансляционные и вращательные движения вплоть до масштабирования. Если вы используете OpenCV, то cv :: getAffineTransform - это то, что вы ищете, где вы можете напрямую ввести отслеживаемые характерные точки.

0 голосов
/ 27 мая 2011

Расчеты оптического потока сами по себе не помогут вам обнаружить такие вещи, как «вращательное движение». По сути, все, что делает калькулятор оптических потоков, - это просмотр изменений попиксельно, в то время как под поворотом вы понимаете большую совокупность изменений пикселей. Алгоритм должен обнаружить что-то вроде «все пиксели на краю объекта движутся в направлении (против) по часовой стрелке». Это очень сложно сделать, и я не думаю, что в OpenFrameworks или OpenCV есть что-то, что могло бы вам помочь.

Вы пытаетесь обнаружить вращение объекта на изображении или подобные вращению движения на изображении, которые будут влиять на виртуальный объект? Если это первое, я думаю, что есть методы OpenCV для идентификации объектов, а затем отслеживания их, включая такие вещи, как вращение. Я думаю, что исследовать такие вещи, как «отслеживание объекта opencv» и «анализ движения объекта opencv».

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