detekcja twarzy javacvpro


Poniżej przedstawiam kod programu realizujący detekcję twarzy w wybranym obrazie. W miejscu poprawnie wykrytej twarzy rysowana jest maska.




import java.sql.ResultSet;
import monclubelec.javacvPro.*;

import java.awt.*;
PImage img;
PImage mask;
Rectangle[] faceRect;
OpenCV opencv;
void setup()
{
  img = loadImage("dreamteam.jpg");
  //initialise OpenCV
  opencv = new OpenCV(this);
  opencv.allocate(img.width, img.height);
  opencv.copy(img);
  opencv.cascade("C:/opencv/data/haarcascades", "haarcascade_frontalface_alt.xml");
  size (opencv.width(), opencv.height());
  image(opencv.getBuffer(),0,0);
  faceRect = opencv.detect(true);

  println("Znaleziono " + faceRect.length + " twarzy.");
  for( int i=0; i<facerect.length;i++ )
  {
    println(faceRect[i].x + "," + faceRect[i].y+","+ faceRect[i].width+ "," + faceRect[i].height);
    mask = loadImage("mask.png");
    mask.resize(faceRect[i].width,faceRect[i].height);
    image(mask,faceRect[i].x,faceRect[i].y);
  }
  saveFrame("dreamteamMasks.jpg");
  noLoop();//stop 
}
void draw()
{
}


Pliki do pobrania tutaj.

Komentarze

Prześlij komentarz