#pragma once
#include "ofMain.h"
#include "ofxOpenCv.h"
class ofxCvHaarFinder {
public:
std::vector<ofxCvBlob> blobs;
ofxCvHaarFinder();
ofxCvHaarFinder(const ofxCvHaarFinder& finder);
~ofxCvHaarFinder();
void setup(std::string haarFile);
void setScaleHaar(float scaleHaar);
void setNeighbors(unsigned neighbors);
int findHaarObjects(ofImage& input, int minWidth = 0, int minHeight = 0);
int findHaarObjects(const ofxCvGrayscaleImage& input, int minWidth = 0, int minHeight = 0);
int findHaarObjects(const ofxCvGrayscaleImage& input, ofRectangle& roi, int minWidth = 0, int minHeight = 0);
int findHaarObjects(const ofxCvGrayscaleImage&, int x, int y, int w, int h, int minWidth = 0, int minHeight = 0);
int findHaarObjects(ofPixels& input, int minWidth = 0, int minHeight = 0);
float getWidth();
float getHeight();
void draw(float x, float y);
protected:
#ifdef USE_OLD_CV
CvHaarClassifierCascade* cascade;
#else
cv::CascadeClassifier cascade;
#endif
std::string haarFile;
ofxCvGrayscaleImage img;
float scaleHaar;
unsigned neighbors;
};
Comments