赞
踩
当使用Colmap进行稀疏重建时,会生成一下三个文件。
依次对每个文件进行介绍:
- # 3D point list with one line of data per point:
- # POINT3D_ID, X, Y, Z, R, G, B, ERROR, TRACK[] as (IMAGE_ID, POINT2D_IDX)
- # Number of points: 750, mean track length: 2.9506666666666668
- 1 2.4828681030642312 -5.0682527653218825 29.777528391988987 99 117 90 0.28006835886839493 1 85 3 58 2 64
- 393 -5.1319171487367123 2.8186788299391412 15.199595828661161 162 158 157 0.82049755044180017 1 2109 3 4269 2 4818
POINT3D_ID:三维点的id (二维点可以根据此id找到图片对应的三维点)
X, Y, Z:三维点坐标
R, G, B:三维点颜色信息
ERROR:投影误差(基于像素)
TRACK[] as (IMAGE_ID, POINT2D_IDX):对应images.txt里的图像id,以及每张图你对应特征点的id。比如说上面:1 85 3 58 2 64,意思是图片ID为1的对应images.txt里面的第85个点,ID为3的对应images.txt里面的第58个点,ID为2的对应images.txt里面的第64个点,这三个点是对应三张图的特征点,这三个点都映射到这个三维点。
看上图黑色是二维图片的数据,通过代码遍历出来,,第一列是对应点的ID ,第二列,第三列对应的是图像二维坐标,第四列对应的是三维点的ID。白色部分是points3D.txt里的数据,通过对比,查看白色倒数第二行数据,发现750对应的图片ID为1的二维点ID为11012,刚好对应上,那么此时二维点(4282.31 2555.35)对应的三维点是(4.4189599276293423 4.2638932551533149 16.150506265050332 )。
# Image list with two lines of data per image:
# IMAGE_ID, QW, QX, QY, QZ, TX, TY, TZ, CAMERA_ID, NAME
# POINTS2D[] as (X, Y, POINT3D_ID)IMAGE_ID:图像ID
QW, QX, QY, QZ:四元素
TX, TY, TZ:平移向量
CAMERA_ID:相机的ID
NAME:图片的名字
四元素转换为旋转矩阵课参考:(3条消息) Cesium中的相机—四元素_云上飞47636962的博客-CSDN博客
# Camera list with one line of data per camera:
# CAMERA_ID, MODEL, WIDTH, HEIGHT, PARAMS[]
# Number of cameras: 1
1 PINHOLE 5472 3078 3606.6260092760231 3554.1046035895465 2736 1539CAMERA_ID:相机ID
MODEL:相机名字
WIDTH:图像宽度
HEIGHT:图像高度
PARAMS[]:对应相机内参依次:(fx=fy),cx,cy;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。