Juan David Ruiz's Blog
Graphic Designer
Blog creado y dedicado al desarrollo del juego de cartas "El Dorado" utilizando Realidad Aumentada.

Home // Contacto: juanda.ru@hotmail.com //

DETECTOR DE ROSTROS y JMYRON (PROCESSING 1.0) !!!

Encontré un pequeño tutorial de como reconocer rostros por medio de Processing utilizando librerías y software como OpenCV , pFaceDetect y JMyron ....

Instalación de pFaceDetect:

Descarga y descomprime la carpeta pFaceDetect. Copia esta carpeta solamente con la carpeta que tiene adentro llamada library (../pFaceDetect/library) estas se copian a la carpeta de librerías de Processing. La carpeta de fuente de codigo (src) es para su referencias. Ud podra modificar los parámetros de detección y recopilar esta información para su uso futuro. La carpeta data contiene archivos clasificadores del programa OpenCV para el reconocimiento del rostro.


Instalación de JMyron:

Descargue y descomprima la carpeta JMyron y esta se copia a la carpeta de librerías de Processing. Copie la carpeta JMyron Example a la carpeta de examples de Processing.

IMPORTANTE PARA USUARIOS DE WINDOWS:
Existe la carpeta llamada Extra DLLs - De estos DLLs depende JMyron para su funcionamiento entonces verifique que estos sean copiados a la carpeta de sistema de windows (C:\windows\System32)

Si Processing ya esta siendo ejecutado cierre y reinicie el programa para su funcionamiento.


Instalación de OpenCV:

Es un archivo .EXE entonces su instalación es automática.


Dependencias

La librería depende de OpenCV 1.0. La ultima versión al publico la 1.1 no funciona. Por eso es importante descargar la versión 1.0. Los siguientes archivos de OpenCV 1.0 son esenciales y deben ser copiados a la carpeta de instalación (root) de Processing:

  • cxcore100.dll
  • cv100.dll
  • libguide40.dll

Si ud pretende no dejar instalado OpenCV en su computador, igual deberá copiar los archivos anteriores a la carpeta de instalación (root) de Processing.


AQUÍ LES DEJO EL EJEMPLO DE CÓDIGO:

import pFaceDetect.*;

import JMyron.*;

PFaceDetect face;
JMyron m;
PImage img;

void setup() {
size(320,240);
m = new JMyron();
m.start(width,height);
m.findGlobs(0);
face = new PFaceDetect(this,width,height,
"haarcascade_frontalface_default.xml");
frameRate(15);
img = createImage(width,height,ARGB);
rectMode(CORNER);
noFill();
stroke(255,0,0);
smooth();
}

void draw() {
background(0);
m.update();
arraycopy(m.cameraImage(),img.pixels);
img.updatePixels();
face.findFaces(img);
image(img,0,0);
drawFace();
}

void drawFace() {
int [][] res = face.getFaces();
if (res.length>0) {
for (int i=0;i int x = res[i][0];
int y = res[i][1];
int w = res[i][2];
int h = res[i][3];
rect(x,y,w,h);
}
}
}

void stop() {
m.stop();
super.stop();
}
Comentarios: 1
Escrito por: DJ Juanda Ruiz (DJ Juanda Ruiz). Fecha: 7/13/2009 11:13:00 a. m.


―――――――――――――――――――――――――――――――――――――――――――――――――――