0

OpenCV docs for solvePnpВ файле opencv solvePnP, что я должен передать объектным точкам?

В расширенной реальности приложение, я обнаружить изображение на сцене, так что я знаю imagePoints, но объект я ищу (objectPoints) представляет собой виртуальный маркер просто хранится в памяти для поиска в сцене , поэтому я не знаю, где он находится в космосе.
Книга, которую я читаю (осваивая OpenCV с практическими проектами компьютерного зрения) передает ее, как если бы маркер был матрицей 1x1, и он отлично работает, как?
Не решает ли PPP знать размер объекта и его проекцию, чтобы мы знали, какой масштаб применяется?

ответ

0

Предполагая, что вы ищете физический объект, вы должны передать 3D-координаты точек на модели, которые отображаются (проекцией) в 2D-точки на изображении. Вы можете использовать любой опорный кадр, и результаты решенияPnp предоставят вам положение и ориентацию камеры в этой системе отсчета.

Если вы хотите получить положение/ориентацию объекта в пространстве камеры, вы можете затем преобразовать оба из обратного преобразования, которое вы получили от solvePnp, чтобы камера была перенесена в начало координат.

Например, для куба объекта размером 2x2x2, видимые углы могут быть что-то вроде: {-1,-1,-1},{1,-1,-1},{1,1,-1}.....

0

Вы должны пройти 3D-координаты объекта реального мира, который вы хотите отобразить с изображением. Значения масштабирования и вращения будут зависеть от используемой системы координат.

Это не так сложно, как кажется. См. this blog post о оценке позы головы. для более подробной информации с кодом.

 Смежные вопросы

  • Нет связанных вопросов^_^