当前位置: 首页 > news >正文

利用opencv自带的Haar级联分类器模型

OpenCV自带的Haar级联分类器模型:

haarcascade_eye.xml: 这个模型用于检测眼睛。

haarcascade_eye_tree_eyeglasses.xml: 这个模型用于检测眼镜。

haarcascade_frontalcatface.xml: 这个模型用于检测猫脸。 haarcascade_frontalcatface_extended.xml: 这个模型用于扩展的猫脸检测。 haarcascade_frontalface_alt.xml: 这个模型是一个备用的面部检测模型。 haarcascade_frontalface_alt2.xml: 这个模型是另一个备用的面部检测模型。 haarcascade_frontalface_alt_tree.xml: 这个模型是用于面部检测的备用树模型。 haarcascade_frontalface_default.xml: 这个模型是用于面部检测的默认模型。 haarcascade_fullbody.xml: 这个模型用于全身检测。

haarcascade_lefteye_2splits.xml: 这个模型用于检测左眼。 haarcascade_licence_plate_rus_16stages.xml: 这个模型用于检测俄罗斯车牌。 haarcascade_lowerbody.xml: 这个模型用于下半身检测。

haarcascade_profileface.xml: 这个模型用于侧面脸部检测。

haarcascade_righteye_2splits.xml: 这个模型用于检测右眼。 haarcascade_russian_plate_number.xml: 这个模型用于检测俄罗斯车牌号码。 haarcascade_smile.xml: 这个模型用于微笑检测。

这些模型都在安装的opencv-source路径下

人脸检测实例

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/objdetect/objdetect.hpp>
#include <opencv2/imgproc/imgproc.hpp>int main()
{// 加载人脸分类器cv::CascadeClassifier faceCascade;//分类器文件下载地址: https://github.com/opencv/opencv/tree/master/data/haarcascades//在OpenCV的源码目录下其实也有(opencv\build\etc\haarcascades)。faceCascade.load("C:/haarcascade_frontalface_alt2.xml");// 打开摄像头cv::VideoCapture capture(0);if (!capture.isOpened()){std::cout << "无法打开摄像头" << std::endl;return -1;}// 创建窗口cv::namedWindow("Face Detection", cv::WINDOW_NORMAL);while (true){cv::Mat frame;capture >> frame; // 读取视频帧// 将彩色图像转换为灰度图像以加快处理速度cv::Mat grayFrame;cv::cvtColor(frame, grayFrame, cv::COLOR_BGR2GRAY);// 对图像进行人脸检测std::vector<cv::Rect> faces;faceCascade.detectMultiScale(grayFrame, faces, 1.1, 3, 0, cv::Size(30, 30));// 在图像上绘制人脸边界框for (size_t i = 0; i < faces.size(); i++){cv::rectangle(frame, faces[i], cv::Scalar(0, 255, 0), 2);}// 显示结果图像cv::imshow("Face Detection", frame);// 按下ESC键退出循环if (cv::waitKey(1) == 27)break;}// 释放摄像头和窗口资源capture.release();cv::destroyAllWindows();return 0;
}

 

http://www.lryc.cn/news/382691.html

相关文章:

  • 国产USB音频转换芯片CL7016C 支持国美标线控USB Type-C音频编解码器
  • 【linux网络(六)】IP协议详解
  • CesiumJS【Basic】- #012添加点线面(entity方式)
  • 【Redis】内存回收和内存淘汰机制
  • PyTorch实战:借助torchviz可视化计算图与梯度传递
  • 【软件测试】软件测试入门
  • Windows操作防火墙命令
  • 二维数组的知识
  • HR3.0时代,人力资本效能如何进化?| 易搭云DHR
  • R语言做图
  • 跟着我一步两步三步,用开源方式将AI带入企业
  • 天途重磅推出无人机教管平台3.1版及飞课APP
  • 虚幻引擎 Gerstner Waves -GPU Gems 从物理模型中实现有效的水体模拟
  • Labview_网络流
  • 让生产管理变简单
  • MySQL与SQLite的区别
  • Hi3861 OpenHarmony嵌入式应用入门--LiteOS Event
  • Centos+Jenkins+Maven+Git 将生成的JAR部署到Jenkins服务器上
  • 性能评测系列(PT-010):Spring Boot + MySQL,高并发insert
  • 网站改成HTTPS方法
  • 智慧社区:居民幸福生活的保底线,价值非常大。
  • 《昇思25天学习打卡营第1天|NapKinG》
  • Java项目毕业设计:基于springboot+vue的幼儿园管理系统
  • CPU1511作为CPU1513的智能IO设备
  • docker 安装与常用指令
  • 如何将 gz 文件通过 local data 导入 OceanBase?
  • electron+vue3+vite
  • react笔记-04redux篇
  • oracle 等待事件
  • Vue 的 axios二次封装