euglena/lib/opencv_processing/examples/WhichFace/Face.pde
2016-07-10 00:36:44 -07:00

65 lines
1.2 KiB
Plaintext

/**
* Which Face Is Which
* Daniel Shiffman
* http://shiffman.net/2011/04/26/opencv-matching-faces-over-time/
*
* Modified by Jordi Tost (call the constructor specifying an ID)
* @updated: 01/10/2014
*/
class Face {
// A Rectangle
Rectangle r;
// Am I available to be matched?
boolean available;
// Should I be deleted?
boolean delete;
// How long should I live if I have disappeared?
int timer = 127;
// Assign a number to each face
int id;
// Make me
Face(int newID, int x, int y, int w, int h) {
r = new Rectangle(x,y,w,h);
available = true;
delete = false;
id = newID;
}
// Show me
void display() {
fill(0,0,255,timer);
stroke(0,0,255);
rect(r.x,r.y,r.width, r.height);
//rect(r.x*scl,r.y*scl,r.width*scl, r.height*scl);
fill(255,timer*2);
text(""+id,r.x+10,r.y+30);
//text(""+id,r.x*scl+10,r.y*scl+30);
//text(""+id,r.x*scl+10,r.y*scl+30);
}
// Give me a new location / size
// Oooh, it would be nice to lerp here!
void update(Rectangle newR) {
r = (Rectangle) newR.clone();
}
// Count me down, I am gone
void countDown() {
timer--;
}
// I am deed, delete me
boolean dead() {
if (timer < 0) return true;
return false;
}
}