-
使用OpenCV进行视频检测的一般步骤如下:导入OpenCV库和视频文件。
-
对每一个视频帧进行对象检测。可以使用诸如Haar特征分类器、Cascade分类器或深度学习模型等技术进行对象检测。
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/objdetect.hpp>
#include <iostream>using namespace cv;
using namespace std;int main()
{CascadeClassifier faceCascade;faceCascade.load("Resources/haarcascade_frontalface_default.xml");if (faceCascade.empty()) { cout << "XML file not loaded" << endl; }vector<Rect> faces; //用于存储检测到的面部区域。每个元素都是一个表示面部区域的矩形对象//string path = "0";VideoCapture cap("Resources/孤注一掷.mp4"); //视频捕捉对象Mat img;while (true) {cap.read(img);faceCascade.detectMultiScale(img, faces, 1.1, 10); try{for (int i = 0; i < faces.size(); i++){rectangle(img, faces[i].tl(), faces[i].br(), Scalar(255, 0, 255), 3);}imshow("Image", img);waitKey(2);}catch (const exception& e){destroyAllWindows();break;}}return 0;imshow("Image", img);waitKey(0);return 0;
}