• Stars
    star
    166
  • Rank 226,533 (Top 5 %)
  • Language
    Python
  • Created almost 14 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Extra libraries and examples for libfreenect, especially high level processing, vision, and visualizations

This is a grand unifying demo of the python scientific computing environments. It lets you tinker with kinect data in OpenCV, OpenGL, and Matplotlib, all at the same time!

Installation

  1. You need to have installed: IPython, Matplotlib, OpenCV 2.1, PyOpengl, wxPython

  2. Build the latest version of libfreenect. https://github.com/openkinect/libfreenect

  3. Build and install the python wrappers for libfreenect

     cd libfreenect/wrappers/python
     python setup.py install
    
  4. Download the latest version of this project

     git clone https://github.com/amiller/libfreenect-goodies.git
     cd pykinect
    
  5. Test that python can find libfreenect by running:

     python demo_freenect.py
    

Usage instructions

  1. Please run this script using:

     ipython -pylab -wthread demo_pykinect.py
    
  2. You should see an opengl window pop up with a preview of a point cloud. You can pan and zoom with the mouse. Run the following commands:

     update()      # Grabs one frame from kinect and updates the point cloud
     update_on()   # Grabs frames from kinect on a thread - 3d Video! (might be slow!)
     update_off()  # Stops the update thread
    
  3. You can also use opencv:

     loopcv()      # Grab frames and display them as a cv image
     (ctrl+c to break)
    
  4. You can also use matplotlib:

     imshow(depth)
    
  5. Most importantly, you can reload any of the code without pausing or destroying your python instance:

     %run -i demo_pykinect.py
    

Try changing some of the code, like the downsampling factor (search: downsampling) or the point size (search: GL_POINT_SIZE) and update the code without quitting python.

This is an ideal environment for developing 3D point cloud algorithms and visualizations. All of your tools are right at hand.

Note to MATLAB users:
Yes, MATLAB already does most of this... there are plenty of reasons to prefer python, one of which is access to OpenGL drawing commands - scatter3 isn't adequate!

More Repositories

1

HoneyBadgerBFT

The Honey Badger of BFT Protocols
Python
310
star
2

redblackmerkle

An authenticated data structure based on a red-black tree.
Python
54
star
3

lambda-auth

authenticated data structures, generically
Python
49
star
4

sprites

Python
43
star
5

haskell-saucy

Super Amazing Universal Composability, Yeah!
Haskell
32
star
6

bitcoin-python

Friendly bitcoin API binding for Python
Python
26
star
7

python-zk-proofs

Python
25
star
8

instant-poker

Off-chain poker in Ethereum
Python
22
star
9

tinybitcoinpeer

A toy bitcoin peer. Connects to testnet, shakes hands, reacts to pings, asks for pongs.
Python
22
star
10

generic-ads

Generalized Authenticated Data Structures
Haskell
20
star
11

pinocchio

pinocchio from Microsoft Research - this is rehosted on github only because Codeplex went down!
C++
18
star
12

ethereum-blockhashes

Contract to record hashes of recent and historic blocks
Python
14
star
13

distributed-keygen

Distributed Key Generation in the Wild (from https://crysp.uwaterloo.ca/software/DKG/ )
C++
11
star
14

blockplayer

Blockplayer is a system that uses a depth sensor to acquire and track a building block model in realtime, as the user assembles and interacts with the physical model. This is the open-source project code that goes along with the IEEE TVGC 2012 (IEEE VR 2012) paper "Interactive 3D Model Acquisition and Tracking for Building Block Structures".
Python
11
star
15

pykinect

Python demos and tools for working with kinect data
Python
10
star
16

sgx-epid-contest

Good Riddance to EPID Pre-Deprecation Memorial Contest
Solidity
10
star
17

bitcoin-sok

Systematizing Knowledge about Bitcoin
TeX
8
star
18

fstar374

algorithms and models of computation in fstar
F*
7
star
19

gramine-sgx-revm

Rust
6
star
20

allofthecoins

Dockerfile
5
star
21

otrjs

OTR Implementation in Javascript (libotr clone)
JavaScript
5
star
22

glxcontext

Gets you an OpenGL context for offscreen rendering
Python
5
star
23

gramine-rsademo

Python
5
star
24

static_server

Static web server that uses bottle
Python
4
star
25

shadow-plugin-bitcoin

Shadow plugin for bitcoind (the Satoshi reference client)
C
4
star
26

byzbit

a model of Bitcoin as a distributed Byzantine consensus protocol
Python
4
star
27

rtmodel

Python
4
star
28

pyzxing

qrcode reader - wrapper for Zebra-Crossing (zxing/cpp)
C++
4
star
29

projective_stereo

Python
3
star
30

CoinCoq

An attempt at a formal specification for Bitcoin, including formal semantics for Bitcoin scripts.
Verilog
3
star
31

wxpy3d

wxWidgets-based alternative to GLUT that works with ipython -wthread
Python
3
star
32

zero-collateral-lottery

Commitment-based Ethereum Lotteries without Collateral
Python
3
star
33

accessoracles

C
3
star
34

upright

Automatically exported from code.google.com/p/upright
Java
2
star
35

chitchat

An experiment using a chat with a three-person group
Python
2
star
36

viff

Clone of http://viff.dk/
Python
2
star
37

legoscan

3D reconstruction for lego
Python
2
star
38

clickmeasure

Python
2
star
39

geppetto

Geppetto from Microsoft Research
F#
2
star
40

quartet

Python
2
star
41

classipy-visuals

Classifier Performance Visualization
Python
2
star
42

nonoutsourceable

Nonoutsourceable Scratch-off Puzzles to Discourage Bitcoin Mining Coalitions
C
2
star
43

browseridchat

A real-time encrypted chat service using Browser ID
JavaScript
2
star
44

mesh

Python
2
star
45

dapperlabs

Free Software from Dapper Vision Inc.
2
star
46

solidity-dupchecker

solidity code for checking if an array has duplicates using a bloom filter or advice
Solidity
2
star
47

figr

Use the web to display matplotlib figures from a headless machine
1
star
48

miniviff

experiments in secret sharing
Python
1
star
49

mev-meditations

Jupyter Notebook
1
star
50

graphicsii

Python
1
star
51

pystats

Python
1
star
52

pyreg

Python and JS bridge for easy prototyping
Python
1
star
53

ucmodel

Python
1
star
54

handframe_calibration

Python
1
star
55

statusupdate

it's status update, our top secrete game
PHP
1
star
56

cot6410coq

computability models and theorems in coq
Verilog
1
star
57

dividingline

Python
1
star
58

calibkinect

Convert OpenNI (opennpy) depth images to metric 3D and back
Python
1
star
59

giftchecks

Self-issued currency for a gift-economy. An electronic potlatch.
Python
1
star
60

pywebcredits

Python
1
star
61

docker-zcash

Docker files for building zcash repeatably.
Shell
1
star
62

expdeam

deamortized exponential datastructures
Haskell
1
star
63

wearcoin

JavaScript
1
star
64

rapier

Rapid Iterative Prototyping Tutorials for Python
1
star
65

gramine-dummy-attester

Python
1
star
66

gramine-forge

Solidity
1
star
67

pnymgr

Pseudonym Manager - javascript toolkit for managing your pseudonyms
1
star