Извлечь X, Y, Z местоположение движущейся сферы с помощью фиксированной камеры, используя openCV - PullRequest
1 голос
/ 16 февраля 2020

Я новичок в opencv, и я хотел бы применить оценку позы в моем проекте. По сути, я хочу извлечь X, Y, Z местоположение сферы. Камера, которая обнаруживает сферу, находится в фиксированном месте, в то время как сфера перемещается в пространстве относительно мировой системы отсчета.

Я понимаю, что сначала нужно выполнить калибровку камеры, чтобы извлечь параметры intrinsi c и extrinsi c, как описано здесь: youtube.com/watch?v=HoBKG82A9xs

Я нашел довольно хорошую ссылку, которая на самом деле объясняет, что я хочу сделать в своем проекте здесь: https://www.fdxlabs.com/calculate-x-y-z-real-world-coordinates-from-a-single-camera-using-opencv/ Однако местоположение z фиксировано и уже известно в этом проекте. Кроме того, калибровка перспективы в проекте была сделана в фиксированной плоскости. Что означает, что обнаружение является точным только на этой конкретной плоскости.

Теперь мой вопрос: как я собираюсь применить это в сфере, которая движется в пространстве? Или вы можете предложить другой метод для точного извлечения X, Y, Z местоположения? Нужно ли использовать две камеры или подойдет одна?

1 Ответ

0 голосов
/ 26 февраля 2020

Конечно, когда речь идет о трехмерных координатах, можно использовать 2 камеры для прогнозирования глубины. Тем не менее, я предлагаю вам попробовать одну вещь. Поскольку вы отслеживаете сферу, вам будет легко отслеживать координаты X и Y. Если рабочая среда фиксирована, вы можете создать формулу для координаты Z на основе площади сферы. По мере удаления от камеры площадь будет уменьшаться, а координата Z будет увеличиваться. Вы можете создать формулу методом try-n-error, если я переместу свою сферу на 1 фут, насколько площадь будет уменьшена.

Если рабочая среда меняется, вы можете добавить фазу калибровки в начале использования. Что-то вроде того, как перед тем, как начать предсказание, удерживайте сферу на уровне 0, отведите ее назад на 1 фут. Pu sh это вперед 1 фут.

...