top of page
Search

Structured Light Demo

  • caps
  • Mar 10, 2020
  • 1 min read

Updated: Apr 17, 2021


This is a graphics renderer I wrote that simulates the position calculation of projected lights on an object. The current work-in-progress is summarized by an implementation that shall render points and provide these points 3D localization. At the moment I have just captured a video however my plan is to put this on a GUI and release it so people can download and play around with.


How it works: The points are projected from an emitter onto an cube. The emitter is attached to a camera. Since the emitter frame relative to the camera is known, one should be able to determine the relative 3D real-world position of the points, projected in screen space, by triangulation.


I written in C++ the only one library used is OpenCV for merely printing an image array of pixels, resultant from rendering on screen.


Technical Approach: The implementation can be divided into three main objects, the cube, the camera and the emitter. The relation between the objects is based on their position and rotations.


• Cube: The cube is defined by its main points in object/local space. These are further transformed into world space by the appropriate transformation matrices.


• Camera: The camera is defined by a 6-DOF frame.


• Emitter: The emitter is attached to the camera, however, it can be transformed, relative to camera space (also 6-DOF).


• Ray Emission The emitter casts rays that shall be projected on the cube.


• Point projection and point 3D localization: the main functionality of the algorithm is to be able to localize the 3D points in space based on their projection on the screen and the emitter relative position.





 
 
 

Comments


bottom of page