Так, например, у меня есть такие линии с координатами. как (с помощью какого алгоритма) можно создать какой-то простой смысл трехмерной сцены, чтобы получить относительное расстояние от камеры до стены, которая стоит перед нами?Как получить положение камеры из таких данных, генерируемых детектором линий LSD?
ответ
Начальная точка: http://en.wikipedia.org/wiki/Pinhole_camera_model и один из справочников: Ричард Хартли и Эндрю Зиссерман (2003). Многомерная геометрия в компьютерном зрении. Пресса Кембриджского университета.
Для реализации в C++: http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html
очень простой подход: следует помнить, что это только ради объяснения общих принципов.
Предполагая, что вы знаете, меры в реальном мире сеток на стенах вы можете откалибровать камеру и таким образом получить внутренних и внешнего параметров камеры (керамическую плитку?); из этих параметров вы можете получить положение камеры в реальном мире (центр камеры).
Например, вы можете поместить происхождение в системе отсчета XYZ в правом верхнем углу, где правая вертикальная стена встречает камеру, обращенную стену, то вы измеряете в реальном мире координаты каждой плитки углов в системе отсчета координат XYZ поэтому у вас есть набор трехмерных точек (позвоните им objectPoints
), единица измерения этих точек - миллиметр (или дюйм).
3D-точки не должны находиться на одной плоскости.
Затем вам нужно найти те же самые точки на изображении, и вы получите набор двумерных точек, «единица измерения» этих точек - пиксель (позвоните по телефону imagePoints
).
3D - 2D переписка на вход алгоритма, который дает вам параметры камеры (смотри, например, http://en.wikipedia.org/wiki/Camera_resectioning или функции OpenCV calibrateCamera
http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html#cv-calibratecamera которые принимают objectPoints
в качестве первого параметра и imagePoints
в качестве второго параметра)
С параметры камеры вы можете получить в центре камеры что является расстояние камеры от (0,0,0) опорного кадра XYZ.
- 1. Как получить положение камеры?
- 2. Получить положение камеры в opengl
- 3. Как получить положение камеры в мире от калибровки результатов Камеры?
- 4. конвертировать положение камеры
- 5. Three.js - Установить положение камеры
- 6. Добавить относительное положение камеры в существующее положение камеры
- 7. Получить положение прямоугольника камеры от CesiumJS
- 8. Положение камеры относительно плоскости
- 9. Определить положение камеры?
- 10. У таких линий комментариев есть имя?
- 11. 3D положение камеры в XNA
- 12. Project Tango, положение камеры?
- 13. Как установить положение/поворот объекта GameObject в положение/поворот камеры
- 14. Проблема с детектором плагиата
- 15. Положение камеры камеры резко меняется без анимации
- 16. Проецирование камеры для линий, ортогональных оси z камеры
- 17. Отрегулировать положение меток вертикальных линий в ggplot?
- 18. Заказ данных XML, случайно генерируемых из RoR
- 19. DirectX положение камеры путает меня
- 20. Как я могу смотреть мировое положение камеры?
- 21. Слияние MSD и LSD
- 22. положение камеры слежения и вращение
- 23. Pass положение камеры шейдера OpenGL
- 24. WebVR - положение гарнитуры относительно камеры трекера?
- 25. Правильное положение камеры при панорамировании
- 26. Положение камеры внутри кубика three.js
- 27. Дайте трассировку сортировки LSD (иногда называемой сортировкой LSD radix) из 23 49 33 48 42
- 28. Как узнать положение камеры на устройстве Android?
- 29. Как перемещать положение глаз камеры в JOGL?
- 30. Libgdx Orthographic камеры Исходное положение
Думаю, вам нужны два изображения, сделанные с известным относительным расстоянием. Оба с тем же самым и известным масштабированием и отсутствием/четко выраженным искажением. –