Files
gocv/objdetect.cpp
2017-09-19 11:08:21 +02:00

27 lines
755 B
C++

#include "objdetect.h"
// CascadeClassifier
CascadeClassifier CascadeClassifier_New() {
return new cv::CascadeClassifier();
}
void CascadeClassifier_Delete(CascadeClassifier cs) {
delete cs;
}
int CascadeClassifier_Load(CascadeClassifier cs, const char* name) {
return cs->load(name);
}
struct Rects CascadeClassifier_DetectMultiScale(CascadeClassifier cs, MatVec3b img) {
std::vector<cv::Rect> faces;
cs->detectMultiScale(*img, faces); // TODO control default parameter
Rect* rects = new Rect[faces.size()];
for (size_t i = 0; i < faces.size(); ++i) {
Rect r = {faces[i].x, faces[i].y, faces[i].width, faces[i].height};
rects[i] = r;
}
Rects ret = {rects, (int)faces.size()};
return ret;
}