mirror of
https://github.com/hybridgroup/gocv
synced 2025-08-25 08:41:04 +08:00
27 lines
755 B
C++
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;
|
|
}
|
|
|