Skip to content

JonahNoah/Structure-from-Motion

 
 

Repository files navigation

Camera Position Reckoning based on SfM

目标

实现基于SfM算法的,以目标拍摄效果为导向的相机位置反演系统。

基于环境

实现方法

  • 相机标定采用GML C++ Camera Calibration Toolbox实现。
  • 读取视频,取间隔帧数的照片作为SfM算法的关键帧。
  • 取视频的最后一张图片,在GUI上选框进行投影变换,实现目标图像的获取。
  • 将所得到的序列图片运行SfM算法,进行三维重建。
  • 使用MATLAB查看三维重建点云效果。
    format long g;
    P=[
        7.9932642, -6.161675, 18.40271;
        4.970612, -4.9678035, 11.996756;
        -0.35880902, 0.89857519, 7.5484924;
        0.78789729, 3.1232572, 6.3487396;...
    ];
    
    X=P(:,1);Y=P(:,2);Z=P(:,3);

    scatter3(X,Y,Z,'B.')
  • 将目标图片加入SfM算法序列,运行结束后能够获得相机的外参矩阵。

目前实现

  • 利用张正友标定法,采用ting2696/zhang-s-method的棋盘格数据集实现相机标定。(弃用)
  • 使用AKAZE方法实现了效果较为良好的特征点提取及匹配
  • 正确实现了两张图像的三维重建。

待实现想法

About

java实现的SfM三维重建

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.7%
  • Shell 0.3%