stereo-camera-visualization icon indicating copy to clipboard operation
stereo-camera-visualization copied to clipboard

Render a point cloud in real time from a cheap stereo camera stream using OpenGL and OpenCV. The point cloud rendering tries to imitate the style from Radiohead's video House of Cards.

What is this about?

This program tries to imitate the point cloud rendering from Radiohead's music video "House of Cards" making use of an ELP-960P2CAM-V90 stereo camera.

It uses OpenCV to calculate the disparities and reproject the points and OpenGL to render those points in real time.

All dependencies are managed with conan, the C / C++ Package Manager for Developers

House of Cards

A frame from the music video:

Output from program:

The output depending on the parameters, the type of algorithm and the initial calibration of the camera should be something like this:

Point Cloud

Point Cloud

Building

  1. Clone this repo: git clone https://github.com/czoido/stereo-camera-visualization.git
  2. Install conan
  3. Open the terminal, cd to the cloned directory and mkdir build
  4. cd build and conan install ..

Windows:

$ cmake .. -G "Visual Studio 16"
$ cmake --build . --config Release

Linux or Mac:

$ cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
$ cmake --build .

You will probably have to change the id of your camera, it's harcoded in the sources as deviceid in main.cpp. Also, make sure that shaders (vs, fs), config files (yml) and also plist (Mac) are in the working directory.