All Projects → alex-petrenko → 4dvideo

alex-petrenko / 4dvideo

Licence: MIT license
Capturing volumetric videos with Google Tango, RealSense R200 and Delaunay triangulation

Programming Languages

C++
36643 projects - #6 most used programming language
java
68154 projects - #9 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to 4dvideo

vimeo-depth-viewer
OpenGL application for viewing depth and color video streams from Intel RealSense cameras
Stars: ✭ 49 (+40%)
Mutual labels:  realsense, volumetric
Depthkit.js
🎞 A plugin for using DepthKit's volumteric captures in Three.js
Stars: ✭ 64 (+82.86%)
Mutual labels:  volumetric
OpenDepthSensor
Open library to support Kinect V1 & V2 & Azure, RealSense and OpenNI-compatible sensors.
Stars: ✭ 61 (+74.29%)
Mutual labels:  realsense
mesh2d
MESH2D is a MATLAB-based Delaunay mesh generator for two-dimensional geometries.
Stars: ✭ 81 (+131.43%)
Mutual labels:  delaunay-triangulation
Triangulations
An implementation and presentation of selected mesh generation algorithms
Stars: ✭ 72 (+105.71%)
Mutual labels:  delaunay-triangulation
jigsaw-python
Python bindings for JIGSAW: a Delaunay-based unstructured mesh generator.
Stars: ✭ 24 (-31.43%)
Mutual labels:  delaunay-triangulation
pyDelaunay2D
A simple Delaunay 2D triangulation in python (with numpy)
Stars: ✭ 145 (+314.29%)
Mutual labels:  delaunay-triangulation
costmap depth camera
This is a costmap plugin for costmap_2d pkg. This plugin supports multiple depth cameras and run in real time.
Stars: ✭ 26 (-25.71%)
Mutual labels:  realsense
maplab realsense
Simple ROS wrapper for the Intel RealSense driver with a focus on the ZR300.
Stars: ✭ 22 (-37.14%)
Mutual labels:  realsense
tiki
Library for functional graph & geometry algorithms
Stars: ✭ 20 (-42.86%)
Mutual labels:  delaunay-triangulation
tektosyne
The Tektosyne Library for Java provides algorithms for computational geometry and graph-based pathfinding, along with supporting mathematical utilities and specialized collections.
Stars: ✭ 52 (+48.57%)
Mutual labels:  delaunay-triangulation
surfacecast
SurfaceCast: send background-subtracted depth camera video via GStreamer (with optional perspective correction)
Stars: ✭ 22 (-37.14%)
Mutual labels:  realsense
DepthKit-A-Frame
🎥 An A-Frame component for rendering DepthKit volumetric videos in WebVR
Stars: ✭ 34 (-2.86%)
Mutual labels:  volumetric
triangle-app
Desktop application for Triangle.
Stars: ✭ 32 (-8.57%)
Mutual labels:  delaunay-triangulation
delaunator-rs
Fast 2D Delaunay triangulation in Rust. A port of Delaunator.
Stars: ✭ 115 (+228.57%)
Mutual labels:  delaunay-triangulation
hx-delaunator
Haxe port of an incredibly fast JavaScript library for Delaunay triangulation of 2D points.
Stars: ✭ 19 (-45.71%)
Mutual labels:  delaunay-triangulation
StructureNet
Markerless volumetric alignment for depth sensors. Contains the code of the work "Deep Soft Procrustes for Markerless Volumetric Sensor Alignment" (IEEE VR 2020).
Stars: ✭ 38 (+8.57%)
Mutual labels:  realsense
delaunay-triangulation-algorithm
Delaunay Triangulation
Stars: ✭ 25 (-28.57%)
Mutual labels:  delaunay-triangulation
ros openvino
A ROS package to wrap openvino inference engine and get it working with Myriad and GPU
Stars: ✭ 57 (+62.86%)
Mutual labels:  realsense
maze4d
First person four-dimensional maze game
Stars: ✭ 30 (-14.29%)
Mutual labels:  4d

4dvideo

Capturing volumetric videos with Google Tango, RealSense R200 and fast Delaunay triangulation.

O(nlogn) triangulation algorithm based on Guibas-Stolfi paper:

Delaunay triangulation

4D clip rendered by OpenGL viewer (clickable):

4D clip rendered by OpenGL viewer

4D clip in WebGL: https://skfb.ly/6snzt

To download 3rd party submodules:

git submodule update --init --recursive

CMake command line for Visual Studio 2015:

cmake -G"Visual Studio 14 2015 Win64" -DOpenCV_DIR=C:/all/projects/libs/opencv-3.2.0/build/install -DGLFW_ROOT_DIR=C:/all/projects/libs/glfw-3.2.1.bin.WIN64 -DGLEW_LIBRARY=C:/all/projects/libs/glew-2.0.0/lib/Release/x64/glew32.lib -DGLEW_INCLUDE_DIR=C:/all/projects/libs/glew-2.0.0/include -DRSSDK_DIR="C:/Program Files (x86)/Intel/RSSDK" ../..

Add RSSDK_DIR part only if you need RealSense grabbing support. Theoretically the code should also build for Linux and Mac (maybe with a couple of adjustment here and there). Just replace paths to libraries with the appropriate ones for your system.

Project structure:

  • src/libs: reusable library modules
    • lib4d: library module with utilities for 4d content processing, including dataset reading and writing, rendering, meshing and filtering
    • librealsense: Intel RealSense functionality, including the grabbing code
    • libtri: Delaunay triangulation implementation
    • libutil: various utilities, including logging, profiling, geometric primitives, .ply IO etc.
  • src/apps: all the apps
    • 4d_player_app <4dv-dataset-path> Playbacks 4D "movies" in .4dv binary format
    • animation_writer_app <4dv-dataset-path> <timeframe-anim-directory> Converts binary .4dv movie into a series of .ply meshes for every frame. Once zipped this can be uploaded to Sketchfab (this format is called "timeframe animation"). The directory must exist beforehand.
    • realsense_grabber_app <output-4dv-file> Captures 4D movie from Intel RealSense in .4dv format.
    • triangulation_visualizer_app: the app I used to generate GIF visualizations of Delaunay triangulation algorithm. Must enable WITH_VIS preprocessor variable for it to work.
  • src/test: some unit tests created with awesome GTest library.
  • android_src: all the Java code for Google Tango, mostly an unfinished binary grabber for Tango

If you happen to use my code in any of your projects, I would really appreciate if you write me a letter. If you have any questions or problems with the code please also feel free to reach me: [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].