30 OpenCV 案例:实施人脸检测

30 案例:实施人脸检测

opencv知识点:

  • 创建和操作综合人工神经网络 - dnn::Net
  • 读取以TensorFlow框架格式存储的网络模型 - readNetFromTensorflow
  • 从图像创建4维blob - blobFromImage
  • 设置网络的新输入值- Net::setInput
  • 运行正向传递以计算指定层的输出 - Net::forward

本课所解决的问题:

  • 如何运行opencv4提供的人脸检测模型

1.OpenCV 4

本节课的内容主要基于opencv 4 实现,开始我们先了解一下opencv4

OpenCV4.x发布以来,其依靠良好的接口代码、系统级别的优化、更加通用易学的函数调用,集成OpenVINO与tensorflowcaffe等模型加速推断、实现了从传统的图像处理到基于深度学习的视觉处理路线图的完整拓展。

OpenCV4 毫无疑问是一个OpenCV发展历史的一个重要里程碑之作。
官方的宣传口号 OpenCV4 is more than OpenCV
也充分说明OpenCV4 是整合深度学习的新一代计算机视觉开发框架!

本课将介绍一种opencv4自带的,一个进行人脸检测的模型

2.下载人脸检测模型和

为了方便,我们不采用视频的方式,我们就直接去下载课程源码zip了

下载地址:OpenCV学堂 / OpenCV课程资料

下载完之后到图中目录:opencv_tutorial_data-master → models → face_detector

7ed97a6c96de472989ecafc2d3cd3967

目标文件夹:安装opencv目录下的sources → samples → dnn → face_detector

77232f0964cf46048e16f4f8bf63f0d6

3.人脸检测模型演示

开始前,我们可以先把头文件命名空间补上

6d6dd01b35c944c196e54dc0c60ca4e4

这里提一下,当我们使用Net导入模型时,关于模型的各种参数可以从这个文档查看

70628773207c4383a88e1d42bb833e5e

在运行这个人脸检测模型之前,我们需要先来了解几个API

  • dnn::Net类
  • readNetFromTensorflow
  • blobFromImage
  • Net::setInput方法
  • Net::forward方法
  • Mat::ptr

具体介绍如下

dnn::Net类

dnn::Net类
	创建和操作综合人工神经网络
		
		神经网络表示为有向无环图 (DAG),其中顶点是层实例,边指定层输入和输出之间的关系。
		
		每个网络层在其网络内都有唯一的整数id 和唯一的字符串名称。LayerId 可以存储图层名称或图层ID。
		
		此类支持其实例的引用计数,即副本指向同一个实例。

readNetFromTensorflow

readNetFromTensorflow
	读取以TensorFlow框架格式存储的网络模型
		共2个参数
			第1个参数 pb文件路径
			第2个参数 pbtxt文件路径

blobFromImage

blobFromImage
	从图像创建4维blob(斑点,深度学习相关知识)
		共7个参数
			第
  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值