我正在使用OpenCV从多个图像进行运动构造。我有8张图像,并且为每对图像(img1&2,img2&3,img3&4等)生成了3D点云。我知道每个单独的3D点云都是正确的,因为它们在VTK / OpenGL中显示时看起来不错。
我的相机(使用焦距和图像中心作为主要点)使用EXIF元数据进行了(大致)校准。
如何将每个3D点云转换为最左侧相机的3D坐标系?
最佳答案
我假设您以PCL兼容格式存储了点云;那么您可以简单地使用pcl::transformPointCloud ..如果没有,那么您将需要根据transforms.hpp中提供的源代码来实现自己的代码。
高温超导
编辑:
请参阅this presentation中的幻灯片16-19。转换模型是P_c = R_c (P_w - C)
这是我上一个链接中给出的转换的数学形式。
关于python - OpenCV:将点云转换为最左侧相机的坐标系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20014680/