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

淮南建设局网站备案威海那家做网站好

淮南建设局网站备案,威海那家做网站好,重庆seo推广运营,网站建设和客户面谈操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::FaceDetectorYN 是 OpenCV 中用于人脸检测的一个类,它基于深度学习模型实现。这个类是 OpenCV DNN(Deep Neural Netw…
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

cv::FaceDetectorYN 是 OpenCV 中用于人脸检测的一个类,它基于深度学习模型实现。这个类是 OpenCV DNN(Deep Neural Network module)模块的一部分,利用预先训练好的深度神经网络模型来执行高效的人脸检测任务。

主要特性

  • 高效的检测:FaceDetectorYN 使用了 Yunet 模型,这是一个轻量级且高效的卷积神经网络(CNN),专门设计用于快速准确地在图像或视频帧中检测人脸 1。
  • 支持多种输入格式:可以处理静态图像、视频流以及实时摄像头输入。
  • 可配置性:允许用户调整置信度阈值、非极大值抑制(NMS)阈值等参数,以适应不同的应用场景5。
  • 硬件加速支持:可以通过选择不同的后端和目标设备(如 CPU、GPU 或 NPU)来加速推理过程

成员函数介绍

  • create:创建一个 FaceDetectorYN 对象。
    • model, config: 分别是模型文件路径和配置文件路径。对于大多数预训练模型,仅需提供模型文件路径即可。
    • input_size: 输入图像的尺寸(宽度, 高度)。这通常与模型训练时使用的输入尺寸相匹配。
    • score_threshold: 置信度阈值,低于此分数的人脸将被忽略,默认值为0.9。
    • nms_threshold: 非极大值抑制(NMS)阈值,用于去除重叠的人脸框,默认值为0.3。
    • top_k: 保留的最高得分边界框数量,默认值为5000。
    • setInputSize:设置输入图像的尺寸。
    • width, height: 输入图像的宽度和高度。
  • detect:执行人脸检测,并返回检测到的人脸信息。
    • image: 要检测的图像。
    • faces: 输出参数,包含检测到的所有人脸的位置信息和其他相关数据。具体的数据结构取决于实现细节,但通常每个条目会包含一个人脸的位置(如边界框)、置信度分数以及其他可能的关键点位置。
  • setScoreThreshold:设置置信度分数阈值。
    • threshold: 新的置信度分数阈值。
  • setNMSThreshold:设置非极大值抑制(NMS)阈值。
    • threshold: 新的NMS阈值。
  • setTopK:设置保留的最高得分边界框数量。
    • k: 新的最大边界框数量。
  • setPreferableBackend:设置首选的DNN后端。
    • backend: 后端标识符,例如 cv::dnn::DNN_BACKEND_OPENCV 或 cv::dnn::DNN_BACKEND_CUDA。
  • setPreferableTarget:设置首选的目标设备。
    • target: 目标设备标识符,例如 cv::dnn::DNN_TARGET_CPU 或 cv::dnn::DNN_TARGET_CUDA。

代码示例

#include <iostream>
#include <opencv2/dnn.hpp>
#include <opencv2/opencv.hpp>int main()
{// 模型文件路径std::string model_path = "face_detection_yunet_2023mar.onnx";// 创建 FaceDetectorYN 对象cv::Ptr< cv::FaceDetectorYN > detector = cv::FaceDetectorYN::create( model_path, "", cv::Size( 320, 320 ),  // 输入尺寸,可以根据实际情况调整0.9f,                                  // 置信度阈值0.3f,                                  // NMS 阈值5000                                   // top_k 参数);// 加载测试图像cv::Mat img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/zhou.png" );if ( img.empty() ){std::cerr << "无法读取图像" << std::endl;return -1;}// 设置输入尺寸为图像的实际尺寸detector->setInputSize( img.size() );// 进行人脸检测cv::Mat faces;detector->detect( img, faces );// 绘制检测到的人脸框和关键点for ( int i = 0; i < faces.rows; ++i ){float x     = faces.at< float >( i, 0 );float y     = faces.at< float >( i, 1 );float w     = faces.at< float >( i, 2 );float h     = faces.at< float >( i, 3 );float score = faces.at< float >( i, 14 );  // 分数// 绘制人脸框cv::rectangle( img, cv::Point( x, y ), cv::Point( x + w, y + h ), cv::Scalar( 0, 255, 0 ), 2 );// 打印分数std::cout << "Face " << i << ": Score = " << score << std::endl;cv::putText( img, "Face " +std::to_string( i )+": Score =" + std::to_string( score ), cv::Point( x, y - 10 ), cv::FONT_HERSHEY_SIMPLEX, 0.6, cv::Scalar( 0, 255, 0 ), 1 );// 绘制人脸关键点(如果有的话)for ( int j = 4; j <= 13; j += 2 ){int keypoint_x = static_cast< int >( faces.at< float >( i, j ) );int keypoint_y = static_cast< int >( faces.at< float >( i, j + 1 ) );cv::circle( img, cv::Point( keypoint_x, keypoint_y ), 3, cv::Scalar( 0, 0, 255 ), -1 );}}// 显示结果图像cv::imshow( "Detected Faces", img );cv::waitKey( 0 );return 0;
}

运行结果

在这里插入图片描述

http://www.dtcms.com/wzjs/814185.html

相关文章:

  • 网络建设企业网站专业模板网站制作多少钱
  • 一级a做爰片免费网站冫从事高端网站建设
  • 网站空间是服务器吗wordpress邮箱非必填
  • 怎么做电商网站推广免费搭建个人博客网站
  • 沈阳企业模板建站免费软件大全下载安装
  • 旅游电子商务的三创赛网站建设龙岗网站建设设计服务
  • 做名片用哪个网站厦门市建设与管理局
  • 湖北商城网站建设北京手机版建站系统开发
  • 360网站地图怎么做南宁学做网站
  • wordpress手机号登陆保定网站建设seo优化营销
  • 郑州网站建设微信小程序知名企业网站人才招聘情况
  • 创新型的网站建设百度下载安装到桌面上
  • 施工程找工程做哪个网站好公司小程序如何申请
  • 杭州网站开发工资重庆公司章程如何查询下载
  • 网站访问量统计工具静态网站建设步骤
  • 天津网站运营企业网站建设作用
  • 欣赏艺术类的网站Wordpress搜索html页面
  • 手机营销型网站制作潍坊市住房和城乡建设局官网
  • 网站收录了怎么做排名嘉兴企业网站排名
  • 专业提供网站建设服务18岁以上准备好纸巾免费网站
  • 大型网站建设建站模板网站建设培训 通州
  • 百度网站搜索排名网站建设管理分工
  • 西安建设市场信息平台在seo优化中
  • 太原网站制作公司飞向未来煎蛋wordpress
  • 网站设计制作全网优惠抖音广告投放平台
  • 哪个网站可以做链接长沙微网站建设
  • 犀浦网站建设域名注册服务机构注销域名的情形
  • 乌镇网站开发文档璧山最新消息
  • 网站优化 秦皇岛邢台微信网站
  • 做资讯的网站嘉定网站建设哪里便宜