Package ai

Source Code of ai.Track

package ai;

import java.awt.event.KeyEvent;

import com.googlecode.javacpp.Loader;
import com.googlecode.javacv.*;
import com.googlecode.javacv.cpp.*;
import com.googlecode.javacv.cpp.opencv_core.CvArr;
import com.googlecode.javacv.cpp.opencv_video.BackgroundSubtractorMOG;

import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
import static com.googlecode.javacv.cpp.opencv_objdetect.*;

import com.googlecode.javacv.OpenCVFrameGrabber;

public class Track {

  public static void main(String[] args) throws Exception {
    CanvasFrame frame = new CanvasFrame("Track");
   
    OpenCVFrameGrabber grabber = OpenCVFrameGrabber.createDefault("../track/Balcony4_Vis.mpg");
    grabber.start();
    BackgroundSubtractorMOG backsub = new BackgroundSubtractorMOG();
    CvMemStorage storage = CvMemStorage.create();
   
    while(true) {
      IplImage img = grabber.grab();
      IplImage fgmask = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);
      backsub.apply(img, fgmask, 0.01);
     
      CvSeq contours = new CvSeq();
      cvFindContours(fgmask, storage, contours, Loader.sizeof(CvContour.class), CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);
      while(contours != null && !contours.isNull()) {
        CvRect box = cvBoundingRect(contours, 0);
        if(box.width() > 10 && box.height() > 10) {
          cvRectangle(img, new CvPoint(box.x(), box.y()),
              new CvPoint(box.x()+box.width(), box.y()+box.height()),
              new CvScalar(255), 2, 8, 0);
        }
        contours = contours.h_next();
      }
      frame.showImage(img);
     
      KeyEvent key = frame.waitKey(10);
      if(key != null && key.getKeyChar() == 'q') {
        System.exit(0);
      }
    }
  }
}
TOP

Related Classes of ai.Track

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.