iplayfast / RGBDAcquisition

A uniform library wrapper for input from libfreenect,OpenNI,OpenNI2,OpenGL simulations and other types of video and depth input..

Home Page:http://ammar.gr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This is the RGBD project.. 

If you want to download OpenNI , OpenNI2 , LibFreenect , please issue 
cd 3dparty && ./get_third_party_libs.sh


To compile the library issue :

mkdir build 
cd build 
cmake .. 
make 

Due to making things that require OpenNI , OpenNI2 , libFreenect , OpenGL , OpenCV and other stuff by just issuing the make script will stop in the first failure. 
If you want specific things just type make <tab> and see the specifics that you need 
for example one might only need the grabber , template module and the acquisition plugin so he could just run 

make grabber_grabber  acquisition_acquisition template_acquisition_shared_library_templateacquisition 

And this way skip everything else that is irrelevant to him.. 

Another way to deal with missing dependencies is through the acquisition/acquisition_setup.h file which can deactivate compilation of certain modules..



To compile the tools ,  if you dont have OpenCV you might not be able to build all of them


The project is divided in libraries applications and tools

Applications include :
a Grabber , which can grab frames from the inputs and save them to disk 
a Muxer   , which can combine 2 frame streams in to a new one and save it to disk
a Broadcaster , which can transmit a stream through HTTP protocol
a Viewer   , which can view a stream
a Segmenter , which can discard or label parts of a stream
an Editor , which is quite experimental and doesnt do anything for now ;P

Tools include :
Intrinsic / Extrinsic calibration using opencv
Convertors from/to Euler/Quaternions
Undistorting images ( intrinsic )
Converting from 16bit PNG depths to PNM
Calibrating a camera intrinsics/extrinsics using OpenCV 

Libraries include :
V4L2 acquisition
V4L2 Stereo acquisition
OpenNI1 acquisition
OpenNI2 acquisition
libFreenect acquisition
OpenGL simulation acquistiion
Template acquisition ( from images )

To test it issue 

./run_grabber.sh -maxFrames 10

You can select from the modules linked by using  them as a parameter..
For example
./run_grabber.sh -maxFrames 10 -module OPENNI1 -to outdir 
this will grab 10 frames from module OpenNI ( provided it is compiled in ) and write them to grabber/frames/outdir

Possible choices for modules are :
FREENECT  
OPENNI1 
OPENNI2 
OPENGL 
V4L2 
V4L2STEREO 
TEMPLATE 
NETWORK <- not working 
 

----------------------------

In order to keep repository sizes small , and If you want to use acquisitionBroadcast you should run ./getBroadcastDependencies.sh to clone the full AmmarServer library instead of the NULL version of the library currently installed
To test it try 
wget http://127.0.0.1:8080/rgb.ppm -O rgb.ppm
wget http://127.0.0.1:8080/depth.ppm -O depth.ppm
wget -qO- http://127.0.0.1:8080/control.html?seek=10


----------------------------


Without beeing 100% certain OpenNI installed via ROS may conflict with it being downloaded as a standalone package , there is a script that starts it the ROS way , so if thats your case just run scripts/ROS_StartCamera.sh and then you can start using OpenNI with no problems!
 

About

A uniform library wrapper for input from libfreenect,OpenNI,OpenNI2,OpenGL simulations and other types of video and depth input..

http://ammar.gr


Languages

Language:C 73.9%Language:C++ 15.3%Language:Shell 4.6%Language:Makefile 3.0%Language:CMake 2.4%Language:GLSL 0.5%Language:OpenSCAD 0.1%Language:Python 0.1%Language:M4 0.0%Language:MATLAB 0.0%