人脸识别引擎SeetaFaceEngine中Detection模块用于人脸检测,以下是测试代码:

int test_detection()
{std::vector<std::string> images{ "1.jpg", "2.jpg", "3.jpg", "4.jpeg", "5.jpeg", "6.jpg", "7.jpg", "8.jpg", "9.jpg", "10.jpg","11.jpeg", "12.jpg", "13.jpeg", "14.jpg", "15.jpeg", "16.jpg", "17.jpg", "18.jpg", "19.jpg", "20.jpg" };std::vector<int> count_faces{ 1, 2, 6, 0, 1, 1, 1, 2, 1, 1,1, 1, 1, 1, 1, 1, 1, 0, 8, 2 };const std::string path_images{ "E:/GitCode/Face_Test/testdata/" };seeta::FaceDetection detector("E:/GitCode/Face_Test/src/SeetaFaceEngine/FaceDetection/model/seeta_fd_frontal_v1.0.bin");detector.SetMinFaceSize(20);detector.SetMaxFaceSize(200);detector.SetScoreThresh(2.f);detector.SetImagePyramidScaleFactor(0.8f);detector.SetWindowStep(4, 4);for (int i = 0; i < images.size(); i++) {cv::Mat src_ = cv::imread(path_images + images[i], 1);if (src_.empty()) {fprintf(stderr, "read image error: %s\n", images[i].c_str());continue;}cv::Mat src;cv::cvtColor(src_, src, CV_BGR2GRAY);seeta::ImageData img_data;img_data.data = src.data;img_data.width = src.cols;img_data.height = src.rows;img_data.num_channels = 1;std::vector<seeta::FaceInfo> faces = detector.Detect(img_data);fprintf(stderr, "image_name: %s, faces_num: %d\n", images[i].c_str(), faces.size());for (int num = 0; num < faces.size(); num++) {fprintf(stderr, "    score = %f\n",/*, roll = %f, pitch = %f, yaw = %f*/faces[num].score/*, faces[num].roll, faces[num].pitch, faces[num].yaw*/);cv::rectangle(src_, cv::Rect(faces[num].bbox.x, faces[num].bbox.y,faces[num].bbox.width, faces[num].bbox.height), cv::Scalar(0, 255, 0), 2);}std::string save_result = path_images + "_" + images[i];cv::imwrite(save_result, src_);}int width = 200;int height = 200;cv::Mat dst(height * 5, width * 4, CV_8UC3);for (int i = 0; i < images.size(); i++) {std::string input_image = path_images + "_" + images[i];cv::Mat src = cv::imread(input_image, 1);if (src.empty()) {fprintf(stderr, "read image error: %s\n", images[i].c_str());return -1;}cv::resize(src, src, cv::Size(width, height), 0, 0, 4);int x = (i * width) % (width * 4);int y = (i / 4) * height;cv::Mat part = dst(cv::Rect(x, y, width, height));src.copyTo(part);}std::string output_image = path_images + "result.png";cv::imwrite(output_image, dst);return 0;
}

打印结果如下图:

从网上找了20张图像,验证此库的检测率,检测结果如下:

GitHub:https://github.com/fengbingchun/Face_Test

人脸识别引擎SeetaFaceEngine中Detection模块使用的测试代码相关推荐

  1. 人脸识别引擎SeetaFaceEngine中Identification模块使用的测试代码

    人脸识别引擎SeetaFaceEngine中Identification模块用于比较两幅人脸图像的相似度,以下是测试代码: int test_recognize() {const std::strin ...

  2. 人脸识别引擎SeetaFaceEngine中Alignment模块使用的测试代码

    人脸识别引擎SeetaFaceEngine中Alignment模块用于检测人脸关键点,包括5个点,两个眼的中心.鼻尖.两个嘴角,以下是测试代码: int test_alignment() {std:: ...

  3. 人脸识别引擎SeetaFaceEngine简介及在windows7 vs2013下的编译

    SeetaFaceEngine是开源的C++人脸识别引擎,无需第三方库,它是由中科院计算所山世光老师团队研发.它的License是BSD-2. SeetaFaceEngine库包括三个模块:人脸检测( ...

  4. python开源的人脸识别库_什么是 SeetaFace 开源人脸识别引擎

    区分不同的人是很多智能系统的必备能力.为实现此目的,一种可能的技术手段是通过对人脸的光学成像来感知人.识别人,即所谓的人脸识别技术.经过几十年的研发积累,特别是近年来深度学习技术的涌现,人脸识别取得了 ...

  5. SeetaFace开源人脸识别引擎

    开源网址 目前,SeetaFace开源人脸识别引擎已全部发布在Github上供国内外同行和工业界使用,项目网址为:https://github.com/seetaface/SeetaFaceEngin ...

  6. 【SeetaFace】中科院山世光老师开源的Seetaface人脸识别引擎测试

    Seetaface发布了第二个版本--Seetaface2: https://github.com/seetaface/SeetaFaceEngine2 SeetaFace2 Engine conta ...

  7. SeetaFace开源人脸识别引擎介绍

    深度学习大讲堂致力于推送人工智能,深度学习方面的最新技术,产品以及活动.请关注我们的知乎专栏! 区分不同的人是很多智能系统的必备能力.为实现此目的,一种可能的技术手段是通过对人脸的光学成像来感知人.识 ...

  8. C/C++人脸识别引擎 SeetaFace2打造“刷脸时代”

    SeetaFace2 人脸识别引擎包括了搭建一套全自动人脸识别系统所需的三个核心模块,即:人脸检测模块 FaceDetector.面部关键点定位模块 FaceLandmarker 以及人脸特征提取与比 ...

  9. C# 实现人脸识别一 (运用虹软人脸识别引擎)

    知识背景: 下载虹软人脸识别引擎 下载地址: http://www.arcsoft.com.cn/ai/arcface.html 目前虹软人脸识别引擎有3个平台,其中Windows与iOS是基于C++ ...

最新文章

  1. 内网穿透工具nps和frp
  2. GitHub 上有什么好玩的项目?(附地址)
  3. .NET平台开源项目速览(8)Expression Evaluator表达式计算组件使用
  4. MySQL连不上,报Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
  5. 教你搞定补码不恢复余数除法中够减和商的关系
  6. 02-C#入门(循环)
  7. uva 816(经典bfs例子)
  8. [Linux]ARP协议
  9. 数据分析-书籍整理(二)
  10. Spring MVC核心知识
  11. 两步解决科来数据包生成器找不到网卡的问题
  12. Python解决同一台如何调用多台usb打印机
  13. 算法学习——数字旋转方阵
  14. 蚂蚁笔记 linux安装教程,群晖docker安装蚂蚁笔记安装教程
  15. 3. css-loader
  16. 市场营销行业拓客的10个经典方法
  17. 自动化控制行业常见面试问题分析
  18. 《3S新闻周刊》(转帖)
  19. epsonl360打印机连接电脑_EPSONL360打印机怎么安装驱?
  20. 物联网技术的应用和发展

热门文章

  1. Jupyter-ROS(机器人操作系统)
  2. GitHub开源游戏:CityBound(模拟城市)
  3. 使用python爬取视频
  4. 深入浅出的讲解傅里叶变换(完整)
  5. Udacity机器人软件工程师课程笔记(十四)-运动学-正向运动学和反向运动学(其一)
  6. 2020考研 管理类联考综合能力-写作
  7. ATS 6.2.1中缓存文件过期并不回源校验的“坑”
  8. 在ATS 5.3.0上开启stats_over_http插件
  9. 在3ds Max中使用V-Ray 5渲染引擎视频教程
  10. 服务器 主动 推送 客户端浏览器 消息***