C++ Opencv视频检测

  1. 使用OpenCV进行视频检测的一般步骤如下:导入OpenCV库和视频文件。

  2. 对每一个视频帧进行对象检测。可以使用诸如Haar特征分类器、Cascade分类器或深度学习模型等技术进行对象检测。

c 复制代码
#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;
}
相关推荐
txinyu的博客1 小时前
解析业务层的key冲突问题
开发语言·c++·分布式
SmartRadio2 小时前
ESP32添加修改蓝牙名称和获取蓝牙连接状态的AT命令-完整UART BLE服务功能后的完整`main.c`代码
c语言·开发语言·c++·esp32·ble
charlie1145141914 小时前
嵌入式的现代C++教程——constexpr与设计技巧
开发语言·c++·笔记·单片机·学习·算法·嵌入式
CSDN_RTKLIB7 小时前
【字符编码】有无BOM的UTF-8
c++
EasyGBS7 小时前
EasyGBS算法算力融合架构:GB28181标准平安乡村智能视频监控建设方案设计
架构·音视频
Chary20167 小时前
opengl 学习资料路径
c++·opengl
im_AMBER8 小时前
Leetcode 102 反转链表
数据结构·c++·学习·算法·leetcode·链表
科技小E8 小时前
EasyGBS算法算力融合架构:标准平安乡村智能视频监控建设方案设计
架构·音视频
今儿敲了吗8 小时前
01|多项式输出
c++·笔记·算法
程序员Jared8 小时前
C++11—mutex
c++