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;
}
相关推荐
梵刹古音3 分钟前
【C++】 析构函数
开发语言·c++
wangjialelele20 分钟前
Linux下的IO操作以及ext系列文件系统
linux·运维·服务器·c语言·c++·个人开发
打工哪有不疯的32 分钟前
使用 MSYS2 为 Qt (MinGW 32/64位) 完美配置 OpenSSL
c++·qt
晚霞的不甘40 分钟前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
代码游侠1 小时前
C语言核心概念复习——C语言基础阶段
linux·开发语言·c++·学习
㓗冽1 小时前
60题之内难题分析
开发语言·c++·算法
Dfreedom.1 小时前
图像处理中的对比度增强与锐化
图像处理·人工智能·opencv·锐化·对比度增强
rainbow68891 小时前
C++开源库dxflib解析DXF文件实战
开发语言·c++·开源
John_ToDebug1 小时前
Chromium安全架构深度解析:从悬空指针检测到内存安全防御体系
c++·chrome
D_evil__1 小时前
【Effective Modern C++】第五章 右值引用、移动语义和完美转发:24. 区分万能引用和右值引用
c++