问题描述
我用地面实况和Velodyne点云数据可视化了KITTI里程表数据集。 http://www.cvlibs.net/datasets/kitti/eval_odometry.php
在序列中循环之后,摄像机位置的高度似乎有所不同。我不确定这是正常现象还是我误解了。当您将此数据用作基本事实时,您是否在修改某些内容,还是按原样使用它?
这是加载姿势txt文件的代码
std::ifstream infile;
infile.open(poses_path,std::ios::in);
assert(infile.good());
std::string l1;
while (getline(infile,l1)) {
double p00,p01,p02,p03;
double p10,p11,p12,p13;
double p20,p21,p22,p23;
if (std::sscanf(l1.c_str(),"%lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf",&p00,&p01,&p02,&p03,&p10,&p11,&p12,&p13,&p20,&p21,&p22,&p23) == 12) {
}
else {
std::cerr << "Failed to read camera intrinsics!\n";
infile.close();
return;
}
Eigen::Matrix<double,3,3> R;
R << p00,p10,p20,p22;
Eigen::Matrix<double,1> t;
t << p03,p13,p23;
Sophus::SE3d cam2World(R,t);
vCam2World.push_back(cam2World);
}
infile.close();
这是从附近水平观察3D点云的图像。 如您所见,循环后的摄像机位置处于不同的高度。 我将Velodyne数据转换为相机坐标上的深度值并进行了可视化处理。 然后,汽车的点云也发生了位移。
这是鸟瞰图,看起来不错。
这是一张彩色图像,上面覆盖了Velodyne的深度值。看起来也很好。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)