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

Opencv C++ 教程-人脸识别

【1】代码

int FaceDetect(string path) {cv::Mat image = cv::imread(path);if (image.empty()) {std::cout << "Could not open or find the image" << std::endl;return -1;}cv::CascadeClassifier face_cascade;if (!face_cascade.load(cv::samples::findFile("haarcascade_frontalface_alt.xml"))) //xml的绝对路径{std::cout << "Error loading face cascade" << std::endl;return -1;}std::vector<cv::Rect> faces;cv::Mat gray;cv::cvtColor(image, gray, cv::COLOR_BGR2GRAY);cv::equalizeHist(gray, gray);face_cascade.detectMultiScale(gray, faces, 1.1, 2, 0 | cv::CASCADE_SCALE_IMAGE, cv::Size(30, 30));for (size_t i = 0; i < faces.size(); i++) {cv::rectangle(image, faces[i], cv::Scalar(255, 0, 0), 2);}cv::imshow("Face Detection", image);cv::waitKey(0);
}

【2】haarcascade_frontalface_alt.xml

Haar分类器实际上是Boosting算法的一个应用,Haar分类器用到了Boosting算法中的AdaBoost算法,只是把AdaBoost算法训练出的强分类器进行了级联,并且在底层的特征提取中采用了高效率的矩形特征和积分图方法

http://www.xdnf.cn/news/19938.html

相关文章:

  • AI驱动健康升级:新零售企业从“卖产品”到“卖健康”的转型路径
  • 人形机器人控制系统核心芯片从SoC到ASIC的进化路径
  • 机器学习与Backtrader的融合构建自适应交易策略
  • 动态规划入门:从记忆化搜索到动态规划
  • 从0开始学习Java+AI知识点总结-30.前端web开发(JS+Vue+Ajax)
  • JavaSe之多线程
  • 残差网络的介绍
  • 【代码随想录算法训练营——Day2】数组——209.长度最小的子数组、59.螺旋矩阵II、区间和、开发商购买土地
  • “人工智能+”的新范式:应用赋能与风险应对
  • 不会战略、不会融资、不会搭团队?别叫自己 CTO
  • /Users/yourname/Library/Developer/Xcode 文件夹里面各子文件夹作用
  • 【LeetCode热题100道笔记】缺失的第一个正数
  • 【CouponHub项目开发】使用RocketMQ5.x实现延时修改优惠券状态,并通过使用模板方法模式重构消息队列发送功能
  • 3分钟快速了解ToDesk远程控制企业版的技术奥秘!
  • 为什么打印出来的 cJSON type 值和头文件定义的不一样?
  • git还原操作
  • ultralytics/nn/tasks.py源码学习笔记——核心函数parse_model
  • day2today3夏暮客的Python之路
  • 「逆向思维」的胜利:从“挤不上电梯”到“高效学习”的顶级心法
  • 2025年度GEO优化公司市场研究报告:技术驱动下的用户口碑洞察
  • Git的强软硬回退(三)
  • Docmost:面向现代团队的企业级Wiki
  • 鸿蒙:状态管理V2(V2装饰器的学习)
  • 超详细教程:一招一式教你将本地项目上传至GitHub
  • 【系统架构设计(13)】项目管理上:盈亏平衡分析与进度管理
  • SpringBoot 网络流量抓包与分析系统
  • 【RNN-LSTM-GRU】第一篇 序列建模基础:理解数据的“顺序”之力
  • Mac 使用 softhsm
  • 革新光纤锁模技术:《Light: Science Applications》报道纳米腔增强型可饱和吸收器
  • 质量管理里常见的缩写QA、QC、QE都是什么意思?