Skip to content

ph4m/RGBDAcquisition

 
 

Repository files navigation

This is the RGBD project.. 

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


One very basic thing about setting up what you want is the acquisition/acquisition_setup.h file..
It controls what modules get linked during the compilation in order to keep your dependencies at a minimum..  Of course you will need the appropriate 3dparty libs if you enable a module that uses them.. 

To compile the library issue 

make
there also exists a bash script called
./make.sh , you could use it if you run into problems


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

Tools include :
Intrinsic / Extrinsic calibration using opencv
Undistorting images ( intrinsic )
Converting from 16bit PNG depths to PNM

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 
 

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

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
If you install sudo apt-get install ros-groovy-openni-camera ros-groovy-openni-launch  
If you want to use it you should initiate :

roscore 
roslaunch openni_launch openni.launch &
rosrun rqt_reconfigure rqt_reconfigure 

After this OpenNI should be operational

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 72.0%
  • C++ 19.3%
  • Shell 6.1%
  • Objective-C 1.9%
  • Other 0.7%