← Back

ofxKuZed

github.com/kuflex/ofxKuZed · @kuflex
OF 0.9 Hardware Interface Video/Camera

Addon for working with StereoLab ZED camera in openFrameworks, including color, depth and point cloud grabbing and drawing

27 10 Last commit 10y ago Created 10y ago

Forks

Forks pushed to more recently than kuflex/ofxKuZed itself, plus any admin-confirmed fork with commits of its own — worth checking if you're hitting issues with the original.

bluecadet/ofxKuZed by @bluecadet · ★ 1 · pushed 8y ago

README

ofxKuZed

Addon for working with StereoLab ZED camera in openFrameworks.

Addon videos: Outdoor test: https://www.youtube.com/watch?v=NN55LPlPi3s Indoor test: https://www.youtube.com/watch?v=-MDdGssqQEk

ZED camera is a passive stereo camera, allowing to obtain depth data on sunlight at distance 20 meters. https://www.stereolabs.com/zed/specs/ https://kuflex.wordpress.com/2016/08/18/overview-of-stereolabs-zed-camera-lightweight-outdoors-depth-camera/

Addon's features

It wraps all basic camera settings such as resolution, fps and depth computing quality It provides CPU-access to: 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
ofxZED addon by Design & Systems and Stefan Wagner https://github.com/andsynchrony/ofxZED ZED SDK API.

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

Get this addon

HTTPS
SSH