如何从 3d 对象文件中获取 3d 坐标
How to get 3d coordinates from a 3d object file.
我正在使用 3 个 ArUco 标记卡在 3D 头部模型上,以便在 C++ 中使用 OpenCV 进行姿势估计。我的姿态估计算法为我提供了相对于相机的平移,但我现在想知道标记相对于模型坐标系的坐标。因此,我使用3D扫描仪扫描了头部模型,并随身携带了对象文件和纹理文件。我的问题是获取标记相对于头部模型的坐标的最简单或最佳方法是什么。我应该使用OpenGL,Blender还是其他软件?寻找一些指示或建议。
听起来您有关于相机的标记坐标作为坐标系,因此坐标在"眼睛空间"或相机空间中。这是当您拥有相机位于原点的坐标时。
本文有一个精彩的图表,解释了不同的空间以及如何转换为不同的空间: http://antongerdelan.net/opengl/raycasting.html
如果你想要这些相同的坐标,但在模型空间中,你需要矩阵来让你进入那个空间。
在这种情况下,您将从眼睛/相机空间 ->模型空间出发,因此您需要将这些坐标乘以逆视图矩阵,然后再乘以逆模型矩阵。然后,您的坐标将位于模型空间中。
但是,当您使用物理相机而不是软件相机(例如在OpenGL中(时,这要困难得多。 为此,您需要使用 OpenCV 来获取相机的固有和外在参数。 有关更多详细信息,请参阅本教程: https://docs.opencv.org/3.1.0/dc/dbb/tutorial_py_calibration.html
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 使用指针从C++中的数组中获取最大值
- 如何获取std::result_of函数的返回类型
- 如何在openssl-ecc中获取十六进制格式的私钥
- 使用Unreal C++获取VR耳机的世界位置/方向
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 无法将结构注册为增强几何体3D点
- 从 CGAL 3D 网格生成中获取顶点坐标的 -6.27744e+66:mesh_implicit_sphere示例
- 如何从 3d 对象文件中获取 3d 坐标
- 从 3 个视点在 3 张图像上有 3 个点如何在 3D 空间中获取其坐标?
- 如何获取 3D 标准::矢量的大小
- 获取具有X,Y和距离的OPENCV中的3D坐标
- GLSL 无法获取采样器3D 值
- 无法在 OpenGL 中获取矩形的 3D 视图
- OpenCV从2D像素获取3D坐标
- 如何获取3D矢量的剩余轴知道其他两个
- 算术在3D矢量中获取索引
- 从深度图像中获取3D点云