[AI]/openCV
detect workers in C++
givemebro
2020. 6. 23. 16:28
반응형
#include"opencv2/opencv.hpp"
#include<iostream>
#include<String.h>
using namespace cv;
using namespace std;
int main() {
VideoCapture cap("C:/opencv/opencv-4.0.0/samples/data/vtest.avi");
if (!cap.isOpened()) {
cerr << "Video open failed!" << endl;
return -1;
}
HOGDescriptor hog;
hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());
Mat frame;
while (true) {
cap >> frame;
if (frame.empty()) {
break;
}
vector<Rect> detected;
hog.detectMultiScale(frame, detected);
String text = format("count : %d", detected.size());
putText(frame, text, Point(20, 50), FONT_HERSHEY_SIMPLEX, 1, Scalar(0, 0, 255));
for (Rect r : detected) {
Scalar c = Scalar(rand() % 256, rand() % 256, rand() % 256);
rectangle(frame, r, c, 3);
}
imshow("frame", frame);
if (waitKey(10) == 27)
break;
}
return 0;
}

반응형