什么是osm捆绑器*.ply相机位置格式



我正在试用OpenStreetMap捆绑程序,但我找不到相机位置数据的详细信息。点云数据位于如下所示的 *.ply 文件中:

ply
format ascii 1.0
element face 0
property list uchar int vertex_indices
element vertex 1340
property float x
property float y
property float z
property uchar diffuse_red
property uchar diffuse_green
property uchar diffuse_blue
end_header
-1.967914e-001 -8.918888e-001 -3.318706e+000 92 86 88
-1.745216e-001 -2.186521e-001 -3.227759e+000 50 33 31
-1.585826e-001 -1.894233e-001 -3.271651e+000 61 43 43
...
-2.649703e-003 2.197792e-002 3.906710e-002 0 255 0
-2.354721e-003 2.235805e-002 -1.093058e-002 255 255 0
5.296331e-003 4.755635e-001 -1.298959e+000 255 0 0
3.155302e-003 4.634443e-001 -1.347420e+000 255 255 0
1.910245e-003 2.891324e-001 -1.070228e-001 0 255 0
2.508708e-003 2.884968e-001 -1.570152e-001 255 255 0
-2.246127e-002 -6.257610e-001 9.884196e-001 255 0 0
-2.333330e-002 -6.187732e-001 9.389180e-001 255 255 0

最后八行似乎是四个摄像机的位置(来自四个图像)。一条线是位置,第二条线是方向。位置颜色为绿色或红色,方向为黄色。

我找不到这方面的信息,所以我想知道这是否正确,以及红色和绿色是什么意思?好/坏数据?有关使用 osm 捆绑器结果的任何其他信息都是有帮助的。

我还在研究如何从 Bundler 获取相机位置数据(注意我没有使用 osm-bundler而是使用原始程序)。 但是,除了输出PLY文件捆绑器外,还会输出一个名为bundle.out的ASCII文件。这包含允许您计算相机位置的参数,如捆绑器文档中所述。

Bundler 以增量方式求解相机位置/姿势,并在 bundler.out 文件中输出最终答案。 ply文件包含点云顶点,面和RGB颜色信息。 .ply文件不包含相机姿势。 您可以在此处找到有关 bundler.out 文件的信息。 (osm-bundler使用Noah Slavely的bundler程序,所以这个答案适用于你的两个问题)

http://www.cs.cornell.edu/~snavely/bundler/bundler-v0.4-manual.html#S6

因此,您查看第二行中的第一个数字以确定摄像机的数量。 下一个数字告诉您跟随摄像机的点数。 每个摄像机条目由五行组成。

<f> <k1> <k2>  row one
<R>            rows two, three, and four
<t>            row five

因此,第一行和第二行为您提供标题信息。 然后,每组五行是一个单独的摄像机条目,从摄像机编号零开始。 如果行包含零,则没有该相机/图像的数据。

如果前两行 bundle.out 包含

#Bundle file v0.3
16 32675

将有16个摄像头和32675个点。 相机信息将在线上3 到 (16*5 + 2)。 在 vi 或 emacs 中,你可以显示行号来帮助你检查文件。( 在 vi 中,:在 上设置数字 )请记住,旋转矩阵是三行三个数字,平移三个矢量是相机定义的第五行也是最后一行。

这些点遵循照相机定义。 您可以在我上面提供的链接中找到有关点格式的信息。

最新更新