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

elerac/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

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.

Topics

Resources

License

Stars

Watchers

Forks

Languages