当前位置:网站首页>opencv实时人脸检测
opencv实时人脸检测
2022-08-01 17:33:00 【小小工程员】
相机实时人脸检测
需要使用人脸训练库的参数;
opencv3.4.14资源包
将opencv源代码中:./data/haarcascades 文件夹赋值工程的bin目录下。
opencv环境搭建可以看我往期文章:OpenCV安装、QT、VS配置项目设置
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
void PrintMs(const char* text = "")
{
static long long last = 0;
long long cur = getTickCount();
if (last == 0)
{
last = cur;
return;
}
long long ms = 0;
ms = ((double)(cur - last) / getTickFrequency()) * 1000;
if (*text != 0)
{
printf("%s = %dms\n", text, ms);
}
last = getTickCount();
}
int main(int argc, char** argv) {
String cascadeFilePath = "./haarcascades/haarcascade_frontalface_alt.xml";
CascadeClassifier face_cascade;
if (!face_cascade.load(cascadeFilePath)) {
printf("could not load haar data...\n");
return -1;
}
Mat src, gray_src;
VideoCapture cam(0);
if (!cam.isOpened())
{
cout << "cam open failed!" << endl;
getchar();
return -1;
}
while (true)
{
PrintMs();
cam.read(src);
if (src.empty()) break;
flip(src, src, 1);
cvtColor(src, gray_src, COLOR_BGR2GRAY);
equalizeHist(gray_src, gray_src); // 直方图均衡化,有利于人脸检出
imshow("input image", src);
vector<Rect> faces;
face_cascade.detectMultiScale(gray_src, faces, 1.1, 2, 0, Size(30, 30));
for (size_t t = 0; t < faces.size(); t++) {
rectangle(src, faces[t], Scalar(0, 0, 255), 2, 8, 0);
}
namedWindow("output", CV_WINDOW_AUTOSIZE);
imshow("output", src);
PrintMs("face detect time: "); // AMD5800H 120ms左右
if (waitKey(5) == 'q') break;
}
waitKey(0);
return 0;
}
边栏推荐
猜你喜欢
随机推荐
个人日记
频域分析实践介绍
LeetCode Week 303
C#中关于DevExpress的常用操作和帮助类项目工程内容说明
C#的DateTime帮助类
插入排序 优化插入排序
网上开户佣金万一靠谱吗,网上开户安全吗
SQL的ROUND函数用法及其实例
MySQL 慢查询
快速抽取resnet_v2_152中间的特征层
统信软件、龙芯中科等四家企业共同发布《数字办公安全创新方案》
C#的FTP帮助类
金仓数据库 KDTS 迁移工具使用指南(2. 简介)
基于BiGRU和GAN的数据生成方法
开发工具:第五章:使用idea生成实体类
UI helper class for Winform - some components will use DevExpress components
06 redis cluster structures
MySQL加锁案例分析
直播系统聊天技术(八):vivo直播系统中IM消息模块的架构实践
[Dark Horse Morning Post] Hu Jun's endorsement of Wukong's financial management is suspected of fraud, which is suspected to involve 39 billion yuan; Fuling mustard responded that mustard ate toenails