The second example from the Java binding of OpenNI, the User Tracker.
It crashes when I run it in the 64bit OSX environment. For the demo, I run it in a 32bit Windows 7 machine.
The second example from the Java binding of OpenNI, the User Tracker.
It crashes when I run it in the 64bit OSX environment. For the demo, I run it in a 32bit Windows 7 machine.
Based on the latest Java binding of the OpenNI, I put the SimpleViewer sample into a Processing sketch. The trick is to convert the BufferedImage into a PImage object for display.
I did testing with another sample – UserTracker. It seemed that it can only run in 32 bit environment, not the 64 bit.
I manage to compile an OSX version of the library. I use the 10.6 SDK to package the library. You can download the sample application below. I place it temporarily in a code folder.


This is the Processing source code for the example.
import processing.video.*; import pSmile.PSmile; Capture cap; PSmile smile; PImage img2; float res, factor; PFont font; int w, h; void setup() { size(640,480); w = width/2; h = height/2; background(0); cap = new Capture(this, width, height, Capture.list()[1], 25); img2 = createImage(w,h,ARGB); smile = new PSmile(this,w,h); res = 0.0; factor = 0.0; font = loadFont("SansSerif.plain-16.vlw"); textFont(font,16); textAlign(CENTER); noStroke(); fill(255,200,0); rectMode(CORNER); } void draw() { img2.copy(cap,0,0,width,height,0,0,w,h); img2.updatePixels(); image(cap,0,0); res = smile.getSmile(img2); if (res>0) { factor = factor*0.8 + res*0.2; float t_h = factor*30; rect(width/2-20,height-t_h-30,40,t_h); } String str = nf(res,1,4); text(str,width/2,height-10); } void captureEvent(Capture _c) { _c.read(); } |
I created the smile detection library with the latest JRE and Visual Studio 2010 Express. It has been tested only in Windows 7.
Download the sample application with the library here.
This is a adaptation of the Auto Smiley by Theo Watson. The core part is from the Machine Perception Toolbox. The Processing part is done by using JNI. I’ll do more testings in other machines. Stay tune for the code.