All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.neuronrobotics.imageprovider.HaarDetector Maven / Gradle / Ivy

package com.neuronrobotics.imageprovider;


import java.awt.image.BufferedImage;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.opencv.core.Core;
import org.opencv.core.CvException;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.imgproc.Imgproc;
import org.opencv.objdetect.CascadeClassifier;


public class HaarDetector  implements IObjectDetector{
	private MatOfRect faceDetections = new MatOfRect();;
	private CascadeClassifier faceDetector ;
	private double scale=.3;

	public HaarDetector(File cascade){
		// Create a face detector from the cascade file in the resources
	    // directory.
		faceDetector = new CascadeClassifier(cascade.getAbsolutePath());
	}

	
	public List getObjects(BufferedImage in, BufferedImage disp){
		Mat inputImage = new Mat();
		OpenCVImageConversionFactory.bufferedImageToMat(in,inputImage);
		try{
			Mat localImage = new Mat();
			Size s =new Size(in.getWidth(),in.getHeight());
			Imgproc.resize(inputImage, localImage, new Size(s.width*scale,s.height*scale));
			Imgproc.cvtColor(localImage, localImage, Imgproc.COLOR_BGR2GRAY);
		
			faceDetector.detectMultiScale(localImage, faceDetections);
			Rect [] smallArray = faceDetections.toArray();
			ArrayList myArray = new ArrayList();
			
			for(int i=0;i();
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy