Giter Club home page Giter Club logo

sr's Introduction

Sr. | Structure Reconstruction

Sr. is a Structure from motion software:
The software provide 3D Reconstruction and Camera Tracking.

Examples

Temple Ring (46 images)

Wooden Spool (41 images)

The images were cropped to reduce computation time

Required tools and libraries

Build

Using Docker

See Sr image on docker hub

  • Start X Server on your machine
  • Deploy with docker compose
docker-compose run sr

Without Docker

  • Download the source code into some root folder "SomePath/Sr"
  • Create a build folder within the Sr directory: SomePath/Sr/Build
  • Set "YOUR OWN" Build DIR dependency in CMakeList.txt
  • Run CMake configure within SomePath/Sr/Build as Build directory and SomePath/Sr as source directory
  • Run generate
  • Open visual studio solotion in SomePath/Sr/Build/Sr_Project.sln and compile

Usage

Execute

Usage: ./project.exe [-h] [-v] [-s] [-d down_scale] [-c calib_directory] [-f focal_length] input_directory

Options:
      -h                  Print help message
      -v                  Show match
      -s                  Sort input images
      -d down_scale       Downscale factor for input images (decimal)
      -f focal_length     Camera focal length (decimal)
      -c calib_directory  Directory to find chess board images for camera calibration
      input_directory     Directory to find input images and calib.xml(optinal)

Input Data

The pipline gets as input images of an object and intrinsic camera parameters, the pipeline creates colored point cloud and turns it into textured mesh.

Sr. gets an input directory containing images of an object from multiple views
first option - using calib.xml:
second option using - focal length:
Note that intrinsic camera parameters must be named calib.xml!
and be in the format:

<?xml version="1.0"?>
<opencv_storage>
<cameraMatrix type_id="opencv-matrix">
  <rows>3</rows>
  <cols>3</cols>
  <dt>d</dt>
  <data>fx 0 cx 0 fy cy 0 0 1</data></cameraMatrix>
<distortionCoefficients type_id="opencv-matrix">
  <rows>1</rows>
  <cols>5</cols>
  <dt>d</dt>
  <data>k1 k2 p1 p2 k3</data></distortionCoefficients>
</opencv_storage>

where:
fx, fy are the focal length on the axis
(cx, cy) is the principal point
k1, k2, p1, p2 and k3 are the distortion coefficients

Output Data

Sr. will create new folder in the input drictory named output, in this folder the software will crate several files:

  • PointCloud.ply - Colored pointcloud of the object
  • occluded.jpg - This images is used to texture occluded part in the mesh
  • TexturMesh.mtl - File containing information about the textuers matrials
  • TexturMesh.obj - Textuerd mesh of the object

sr's People

Contributors

bennysobol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.