前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ffmpeg加opencv的人脸采集并做出识别的实战项目!

ffmpeg加opencv的人脸采集并做出识别的实战项目!

作者头像
用户6280468
发布2022-06-09 21:26:04
1.6K0
发布2022-06-09 21:26:04
举报
文章被收录于专栏:txp玩Linux

一、前言:

大家好,今天给大家分享一个ffmpeg加opencv的人脸采集并做出识别的实战项目!

我先大致简单介绍一下项目的整体功能实现:

本项目核心是在Linux平台上利用摄像头采集人脸,并进行人脸识别。这个项目使用的是FFMPEG+OPENCV+虹软框架完成。FFMPEG的主要工作是负责采集摄像头的数据并把摄像头数据发送给opencv。Opencv的主要工作则是把摄像头数据转换成矩阵数据。虹软的主要功能则是利用Opencv的数据进行数据检测和识别并且和人脸数据库进行比较,如果识别成功则显示这个人的姓名,并把数据显示出来。目前整体项目只是简单的一个demo,后期会根据需求来进行开发扩展的,比如添加ui界面来查看!

二、开发环境准备:

  • (1) Ubuntu16.04
  • (2)4.1的版本的FFmpeg
  • (3)opencv 3.4.15的版本
  • (4)虹软代码框架

为了不那么浪费时间,这里面的环境搭建,我就不在这里说明,我会在专门的群里发给大家,这里我只展示一下整个工程运行过程,也就是一个readme:

第一步:首先运行asfort_face_insert的程序,这个程序的主要功能是读取一张人脸图片。并把人脸图片的特征读取出来,然后把人脸特征存储到数据库里面。具体的运行程序参数如图:

代码语言:javascript
复制
./asfort_face_insert face_path face_name
  • 其中face_path是人脸图片的路径,如./face_lib/face01.png
  • face_name是录入人脸的名称,如:Harry,James

如果运行成功则会出现下面的打印信息:

当打印日志出现Get Face Feature Success则代表插入成功,此时人脸数据库就有了数据。(小提示:这里的人脸图片最好利用电脑自带的摄像头进行拍照,或者用自己的一个正面照即可)。

第二步:现在我们的数据库已经有了人脸数据,那下一步我们直接运行我们的主程序:ffmpeg_camera_asfort(运行方式:./ ffmpeg_camera_asfort),运行成功的话会看到,一个电脑自带的摄像头出现,并且会把自己的名字显示在一个矩形框里面。如下图:

而此时运行成功的日志如下:

(若成功打开摄像头则会打印Success Open Camera)

这里要注意的是,在运行ffmpeg_camera_asfort的时候,一定要在Linux虚拟机里面把摄像头打开,打开方式:

首选项->可移动设备->选择摄像头设备的名称(这里的摄像头名称各有不同,以自己电脑的名称为主,如我的摄像头名称是:IMC Networks Integrated Camera)->再选择连接。此时在虚拟机里面摄像头就已经打开了。这一步非常重要,如果没有这一步,程序直接报错。报错信息如下:

  • (core dump是指程序错误,退出)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 txp玩Linux 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言:
  • 二、开发环境准备:
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档