Giter VIP home page Giter VIP logo

opens3d's Introduction

Build Status Codacy Badge codecov

Open-Source Real-Time Assistance Framework for Stereoscopic Content Production

The goal of this library is to provide users with tools (C++ library and software) to create stereoscopic 3D content. These tools should be sufficient to create stereoscopic 3D for cinematic purposes.

S3DAnalyzer

Features

Stereoscopic 3D content analysis is available through a modern C++ library.

Most algorithms are implemented using OpenCV but the library uses interfaces so that it could be implemented with any other computer vision frameworks.

The usage of the library is demonstrated with a stereoscopic 3D analysis software (S3DAnalyzer):

  • 3D Video player (anaglyph, side-by-side)
    • Side-by-side
    • Above-below
    • Separate files (left, right)
    • Supports many video formats and codecs (with FFmpeg)
    • Variable horizontal image translation to adjust the image plane (useful for raw videos for which all points are projected in front of the screen).
  • Camera alignment
    • Detect misalignments (roll angle, vertical offset, zoom ratio, tilt, pan, etc.)
  • Camera rectification
    • Correct misalignments detected to minimize vertical disparities
  • Disparity analysis
    • Disparity range
    • Colored feature points from disparity (red = too close in front of the screen, purple = too far behind screen plane)
  • Viewer-centric depth analysis
    • Depth from screen plane of detected features (from viewer distance, screen size...)

Build Instructions

This project uses C++14 and CMake.

This project is mainly developped on Linux (Ubuntu, Arch) but has recently been ported to Mac OS and Windows (see Windows Setup). FFmpeg can be installed from source (or with brew on Mac OS) and OpenCV compiled from source.

Dependencies are:

  • FFmpeg >= 3.0
  • OpenCV >= 3.0
  • Qt >= 5.7

If all dependencies are correctly configured, the project can be built with cmake:

mkdir build
cd build
make

Compilers:

  • Continuous development: linux 64 bits, GCC (Build + Tests)
  • Internal development: linux 64 bits, Clang (Build + Tests)

Coding Standards

This project uses clang-format Chromium coding standard.

License

This software is licensed under a BSD 3-clause license. See LICENSE file.

Citations

Cite as:

@misc{bedard2018opens3d,
  author = "Hugo Bédard",
  title = "OpenS3D, an Open-Source Real-Time Assistance Framework for Stereoscopic Content Production",
  howpublished = "\url{https://github.com/hugbed/OpenS3D}",
}

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.