1

我正在试用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 结果的任何其他信息都会有所帮助。

4

2 回答 2

0

Bundler incrementally solves for the camera positions/poses and outputs the final answer in the bundler.out file. The .ply file contains point cloud vertices, faces, and RGB color information. The .ply file does not contain the camera poses. You can find information about the bundler.out file here. ( osm-bundler uses the Noah Slavely's bundler program, so this answer applies to both of your questions )

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

So, you look at the first number in the second row to determine the number of cameras. The next number tells you the number of points which follow the cameras. Each camera entry consists of five rows.

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

So, lines one and two give you header information. Then each group of five rows is a seperate camera entry starting with camera number zero. If rows contain zero, then their is no data for that camera/image.

If the first two rows bundle.out contain

#Bundle file v0.3
16 32675

There will be 16 cameras and 32675 points. The camera information will be on lines 3 through (16*5 + 2). In vi or emacs you can display line numbers to help you examine the file. ( In vi, :set numbers on ) Remember that the rotation matrix is three lines of three numbers and the translation three vector is the fith and last line of a camera definition.

The points follow the camera definitions. You can find information about the format of points at the link I provided above.

于 2014-02-13T06:54:01.857 回答
0

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

于 2012-08-13T15:44:53.327 回答