Archive for the ‘Software’ Category

OpenCV for Pure Data

Thursday, November 19th, 2009

Part of the OpenCV functions are now available in Pure Data as extra libraries for the PDP and GEM. The software page is here.

OpenCV 1.2

Friday, September 11th, 2009

I just found the new OpenCV 1.2 is out now. The windows installer is available. Let’s try it out.

A new augmented reality game

Wednesday, September 2nd, 2009

Here you can find a new augmented reality game at the Future Dimension. Enjoy.

Augmented Reality Tracking without Marker

Thursday, June 4th, 2009

Here is a test with the OpenCV SURF sample adapted to a live camera video stream.

Face Detection with Ogre3D

Thursday, May 28th, 2009

This is a very crude demonstration of integrating the OpenCV face detection facility into Ogre3D. The face location is used to place the sample facial mesh in Ogre3D.

New SimpleARToolKit Library Available Now

Tuesday, March 24th, 2009

Finally, I put up the documentation and files for the new version of SimpleARToolKit library for Processing. The official page is at http://www.bryanchung.net/?page_id=415.

Enjoy and happy coding.

BazAR – the First Trial

Monday, February 2nd, 2009

Here is a trial run of the sample program come with the BazAR software from http://cvlab.epfl.ch/software/bazar/. I took a sample of my staff card and had it tracked and overlaid with a rectangle.

Another demo with the Augmented Reality Library

Friday, January 23rd, 2009

This one plays back four rectangular planes of digital videos. There are two separate videos loaded and played back.

Flash ActionScript with ARToolKit

Monday, January 12th, 2009

People everywhere are talking about this one using an ActionScript version of ARToolKit with Papervision3D.

You can check out the live version from http://09.aid-dcc.com/.

Sample Code for the New Augmented Reality Library

Thursday, January 8th, 2009

Here is the source code for the last post using the new augmented reality library. In this case, I use the JMyron as the capture mechanism. It displays a short quicktime video “mv02.mov” on top of the marker.


import JMyron.*;
import processing.video.*;
import processing.opengl.*;
import pARToolKit.SimpleARToolKit;

SimpleARToolKit ar;
int capWidth, capHeight;
JMyron m;
Movie mov;
PImage img;

void setup() {
  size(400, 300, OPENGL);
  capWidth = 320;
  capHeight = 240;
  m = new JMyron();
  m.start(capWidth,capHeight);
  m.findGlobs(0);
  img = createImage(capWidth,capHeight,ARGB);
  mov = new Movie(this,"mv02.mov");
  mov.loop();
  mov.read();
  ar = new SimpleARToolKit(this, capWidth, capHeight);
  ar.loadPattern("patt.hiro", 80, 0.0f, 0.0f);
  ar.register("showBox");
  noStroke();
  fill(200,200,0);
  rectMode(CENTER);
  frameRate(15);
}

void draw() {
  background(0);
  m.update();
  m.imageCopy(img.pixels);
  img.updatePixels();
  hint(DISABLE_DEPTH_TEST);
  image(img,0,0,width,height);
  hint(ENABLE_DEPTH_TEST);
  if (ar.findMatch(img,100)) {
    ar.showObject();
  }
}

void showBox(SimpleARToolKit _a) {
  pushMatrix();
  translate(0,0,-20);
  beginShape(QUADS);
  texture(mov);
  vertex(-60,-45,0,240);
  vertex(60,-45,320,240);
  vertex(60,45,320,0);
  vertex(-60,45,0,0);
  endShape();
  popMatrix();
}

void movieEvent(Movie _m) {
  _m.read();
}

void stop() {
  m.stop();
  super.stop();
}