Skip to content

Instantly share code, notes, and snippets.

@startuml
namespace cv::structured_light{
cv::algorithm <|-- StructuredLightPattern: heritance
StructuredLightPattern <|-- SinusoidalPattern: heritance
SinusoidalPattern <|-- SinusoidalPatternProfilometry_Impl: heritance
SinusoidalPatternProfilometry_Impl *-- Marker
class StructuredLightPattern {

Structured light with sinusoidal patterns and phase unwrapping

This project was about adding structured light methods, based on sinusoidal patterns, along with phase unwrapping to OpenCV. Our work was based on the following reference papers:

  • [1] Cong, Pengyu, et al. "Accurate dynamic 3D sensing with Fourier-assisted phase shifting." IEEE Journal of Selected Topics in Signal Processing 9.3 (2015): 396-408.
  • [2] Lei, Hai, et al. "A novel algorithm based on histogram processing of reliability for two-dimensional phase unwrapping." Optik-International Journal for Light and Electron Optics 126.18 (2015): 1640-1644.

The code can be found here and some data were also added here. Examples of wrapped phase maps stored in yml files can be found in opencv_extra/cv/testdata. They can be used with the sample created f