[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;
}

 

 

반응형