Advertisement
Guest User

Untitled

a guest
Oct 24th, 2013
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. HEADER
  2.  
  3. int camWidth = 320;
  4. int camHeight = 240;
  5.  
  6. ofVideoGrabber cam;
  7. ofxCvColorImage testApply;
  8. ofxFaceTracker tracker;
  9. ofImage testimg;
  10. ofEasyCam easyCam;
  11.  
  12. MAIN
  13.  
  14.  
  15. void testApp::setup() {
  16. ofSetVerticalSync(true);
  17. cam.initGrabber(camWidth, camHeight);
  18. tracker.setup();
  19. testApply.allocate(camWidth, camHeight);
  20. }
  21.  
  22. void testApp::update() {
  23. cam.update();
  24. if(cam.isFrameNew()) {
  25. tracker.update(toCv(cam));
  26. }
  27. }
  28.  
  29. void testApp::draw() {
  30. ofSetColor(255);
  31. ofDrawBitmapString(ofToString((int) ofGetFrameRate()), 10, 20);
  32. if(tracker.getFound()) {
  33. ofPolyline lefteye = tracker.getImageFeature(ofxFaceTracker::LEFT_EYE);
  34. ofPolyline righteye = tracker.getImageFeature(ofxFaceTracker::RIGHT_EYE);
  35. ofPolyline topmouth = tracker.getImageFeature(ofxFaceTracker::OUTER_MOUTH);
  36. ofPolyline botmouth = tracker.getImageFeature(ofxFaceTracker::INNER_MOUTH);
  37. ofPolyline nosebridge = tracker.getImageFeature(ofxFaceTracker::NOSE_BRIDGE);
  38. ofPolyline nosebase = tracker.getImageFeature(ofxFaceTracker::NOSE_BASE);
  39.  
  40. vector<ofPoint> eye = lefteye.getVertices();
  41. ofPixels pix = cam.getPixelsRef();
  42. for(int i = 0;i<camWidth*camHeight*3;i++){
  43. int x = i % camWidth;
  44. int y = (i - x) / camWidth;
  45. if(lefteye.inside(x, y) ||
  46. righteye.inside(x, y) ||
  47. topmouth.inside(x, y) ||
  48. botmouth.inside(x, y) ||
  49. nosebridge.inside(x, y) ||
  50. nosebase.inside(x, y)){
  51. pix[i] = pix[i];
  52. pix[i+1] = pix[i+1];
  53. pix[i+2] = pix[i+2];
  54. }else{
  55. pix[i] = 255;
  56. }
  57. }
  58. testimg.setFromPixels(pix);
  59. testApply.flagImageChanged();
  60. }
  61. ofScale(2,2);
  62. testimg.draw(0,0);
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement