Skip to content

Generate and Decode structured light. Binary, Gray, XOR, Ramp, Phase-Shifting, Stripe.

License

Notifications You must be signed in to change notification settings

vonj/structuredlight

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Structured Light

These programs generate and decode structured light.

Currently supports

Requirement

  • Numpy

Installation

pip install git+https://github.com/elerac/structuredlight

Usage

import structuredlight as sl

width  = 640
height = 480

gray = sl.Gray()

imlist_pattern = gray.generate((width, height))

# Projecting patterns from a projector (or display) and capture images
imlist_captured = imlist_pattern

img_index = gray.decode(imlist_captured, thresh=127)

print(img_index)
# [[  0   1   2 ... 637 638 639]
#  [  0   1   2 ... 637 638 639]
#  ...
#  [  0   1   2 ... 637 638 639]]

Supported structured light

Binary code

binary = sl.Binary()
imlist = binary.generate((width, height))
img_index = binary.decode(imlist, thresh=127)

Gray code

gray = sl.Gray()
imlist = gray.generate((width, height))
img_index = gray.decode(imlist, thresh=127)

XOR code

xor = sl.XOR(index_last=-1)
imlist = xor.generate((width, height))
img_index = xor.decode(imlist, thresh=127)

Ramp code

ramp = sl.Ramp()
imlist = ramp.generate((width, height))
img_index = ramp.decode(imlist)

Phase-Shifting

phaseshifting = sl.PhaseShifting(num=3)
imlist = phaseshifting.generate((width, height))
img_index = phaseshifting.decode(imlist)

Single stripe

stripe = sl.Stripe()
imlist = stripe.generate((width, height))
img_index = stripe.decode(imlist)

Tips

How to binarize a grayscale image

Some of the code (Binary, Gray, XOR, ...) needs to binarize. This program provides three methods. See the wiki for details.

How to display images in full screen

When you use structured light, you'll need a full screen display from a projector or display. Here is a program to display the image in full screen.

About

Generate and Decode structured light. Binary, Gray, XOR, Ramp, Phase-Shifting, Stripe.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%