Code Monkey home page Code Monkey logo

imagebasedmodellingedu's Introduction

ImageBasedModellingEduV2.0

ImageBasedModellingEdu2.0 是用于深蓝学院基于图像的三维模型重建课程配套的代码。该代码来源于著名的开源三维重建开源系统MVE(https://github.com/simonfuhrmann/mve)。 我们其基础之上对代码的架构进行了调整,使其与课程更为相关,有助于阅读和学习。该工程项目采用CMake管理,可与方便的进行跨平台的编译。代码包含特征提取与匹配、对极几何、运动恢复结构、稠密重建、表面重建以及纹理贴图、可视化等模块,将随着课程的深入不断进行更新。

架构

该工程主要包含core, math, util, features, sfm, mvs, surface, texturing等主要模块,其中:

  • core—提供了工程项目需要的所有的基础数据结构,包括image, depthmap, mesh, view,以及数据的输入输出等结构和功能;
  • math—提供矩阵,向量,四元数等基本的数学运算操作;
  • features—提供特征提取以及特征匹配功能,其中特征类型包括sift和surf两种;
  • sfm—提供了与运动恢复结构相关的功能,包括相机姿态的恢复,三维点的三角化和捆绑调整等;
  • mvs—提供立体匹配功能,实现稠密点云匹配;
  • surface—实现点云到网格的表面重建;
  • texturing—实现纹理图像的创建;
  • examples—提供一些关键模块的示例代码;
  • tmp—存储临时数据

编译(Mac和Linux下没有问题,Window下的编译未经过验证)

1.安装依赖库包含libpng, libjpeg, libtiff, eigen

Linux

sudo apt-get install libjpeg-dev

sudo apt-get install libtiff-dev

Mac

brew install libpng

brew install libjpeg

brew install libtiff

2.执行

git clone https://github.com/weisui-ad/ImageBasedModellingEdu.git

cd ~/ImageBasedModellingEdu

mkdir build && cd build

cmake -DCMAKE_BUILD_TYPE=Release .. 

make -j8
  1. 示例代码examples/

    ./build/examples/task3/task3-1_incremental_sfm ./examples/data/sequence ./examples/data/sequence_scene

imagebasedmodellingedu's People

Contributors

weisui-ad avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.