Skip to content
Addon for working with StereoLab ZED camera in openFrameworks, including color, depth and point cloud grabbing and drawing
C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
backup scaling point view Aug 27, 2016
docs added example images Aug 22, 2016
src Update ofxKuZed.h Aug 25, 2016
zedExample scaling point view Aug 27, 2016
.gitignore update description Aug 22, 2016
README.md
ofxaddons_thumbnail.png adding thumbnail Aug 22, 2016

README.md

#ofxKuZed Addon for working with StereoLab ZED camera in openFrameworks.

Addon videos:

ZED camera is a passive stereo camera, allowing to obtain depth data on sunlight at distance 20 meters.

##Addon's features

  • It wraps all basic camera settings such as resolution, fps and depth computing quality
  • It provides CPU-access to:
    • left and right rectified RGB images (as ofPixels, ofTexture)
    • depth data in millimeters (as ofFloatPixels, ofPixels, ofTexture)
    • point cloud with colors (as vectors of ofPoint and ofColor)
  • It uses "lazy" updating of all pixel arrays and textures: they are updated only by request to save CPU resources.
  • It includes an example '''zedExample''', demonstrating work with RGB and depth images, and point cloud from camera.

zedCamera

##Compiled example Binaries of the compiled example are here: https://sourceforge.net/projects/ofxkuzed-zedexample/

(Windows, Visual Studio 2015 Community C++, openFrameworks 0.9.3)

##Simple usage:

In ofApp.h:

	...
	#include "ofxKuZed.h"
	...
	class ofApp {
		...
		ofxKuZed zed;
		...
	};

In ofApp.cpp:

ofApp::setup() {
		zed.setResolution(ZED_RESOLUTION_HD720);
		zed.setFps(30);			
		//see zed.set... functions for more settings
		zed.init();
	}

	void ofApp::update() {
		zed.update();
		//ofPixels &left = zed.getLeftPixels();	//access to left image colors
		//ofFloatPixels &depth_mm = zed.getDepthPixels_mm(); //access to depth
		//vector<ofPoint> &points = zed.getPointCloud();	//access to point cloud
	}

	void ofApp::draw()	{
		float W = ofGetWidth();
		float H = ofGetHeight();
		ofSetColor(255);
		//zed.drawLeft(0, 0);	//draw left color image, it's synced with depth image
		zed.drawDepth(0, H / 2, W / 2, H / 2, 0, 5000);	//0 and 5000 - depth range to draw as white and black

		//To draw point cloud: 
		//Define "ofEasyCam easyCam" in ofApp class
		//ofEnableDepthTest();
		//easyCam.begin();
		//ofSetColor(255);
		//zed.drawPointCloud();
		//easyCam.end();
		//ofDisableDepthTest();
	}

##Advanced usage

See an example '''zedExample''' distributed with addon, and '''ofxKuZed.h''' file.

##Requirements Currently addon is tested on Windows 10.

To compile the addon's example you need:

  • Windows

  • Installed Microsoft Visual Studio 2015 Community C++

  • openFrameworks 0.9.3

  • Installed Cuda 7.5 (and NVidia videocard) https://cloud.mail.ru/public/79z4/164HTQkeq

    If you are using another CUDA:

     Write proper path in parameter <CUDA_DIR> in file '''zedExample.vcxproj'''
    
  • Installed ZED SDK (example project is configured for '''ZED_SDK_WinSetup_v1.0.0c.exe''') https://cloud.mail.ru/public/8Luw/yPxdYh91A

    If you are using older ZED SDK, you need:

     Write proper path in <ZED_SDK_DIR> in file''' zedExample.vcxproj''',
    
     Adjust project's properties to valid paths and libs names in the following settings:
     - C/C++ - General - Additional include directories
     - Linker - General - Additional library directories
     - Linker - Input - Additional dependencies
    

To run the example you need:

  • ZED camera
  • USB 3.0 is preferrable (camera works with USB 2.0 too, but slower)

##Credits The addon is based on

Addon is written by Kuflex lab, https://github.com/kuflex/ofxKuZed

###TODOs:

  • Port to Linux
  • Implement settings for RGB images (brightness, contrast)
  • Implement masking using GPU
  • Implement recording/playing SVO
You can’t perform that action at this time.