0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Opencv人脸识别的制作

454398 来源:wv 2019-10-13 17:04 次阅读

步骤1:您需要的东西

Opencv人脸识别的制作

1.RASPBERRY PI

2.ARDUINO UNO/NANO

3.16x2 LCD显示屏

4.RASPI-CAMERA/WEBcam(我更喜欢使用网络摄像头以获得更好的效果)

Step 2:Opencv简介和安装

OpenCV(开源计算机视觉库)是一个非常有用的库-它提供了许多有用的功能,例如文本识别,面部识别,对象检测,深度图的创建和机器学习

本文将向您展示如何在Raspberry Pi上安装Opencv和其他库,这将在进行对象检测和其他项目时派上用场。从那里,我们将学习如何通过执行对象识别和机器学习项目来执行图像和视频操作。具体来说,我们将编写一个简单的代码来检测图像中的人脸。

什么是OpenCV?

OpenCV是一种开放源代码的计算机视觉和机器学习软件库。 OpenCV是在BSD许可下发布的,可免费用于学术和商业用途。它具有C ++,PythonJava接口,并支持Windows,Linux,Mac OS,iOSAndroid。 OpenCV旨在提高计算效率并着重于实时应用。

如何在Raspberry Pi上安装OpenCV?

要安装OpenCV,我们需要安装Python。由于Raspberry Pis已预装Python,因此我们可以直接安装OpenCV。

键入以下命令,以确保您的Raspberry Pi是最新的,并将Raspberry Pi上已安装的软件包更新为最新版本。

sudo apt-get更新

sudo apt-get升级

在终端中键入以下命令以安装所需的软件包在树莓派上使用OpenCV。 》

键入以下命令以在Raspberry Pi上安装适用于Python 3的OpenCV 3,pip3告知我们将为Python 3安装OpenCV。/p》

sudo pip3安装opencv-contrib-python libwebp6

现在,OpenCV应该被安装。

(如果发生任何错误:您仍然可以通过以下链接进行操作

https://www.instructables.com/id/Raspberry-Pi-Hand 。..)

现在不要着急,我们需要检查它是否已正确安装

通过以下方法测试您的opencv:

1.go到终端并键入“ python”

2。然后键入“ import cv2”。

3。然后键入“ cv2 .__ version __”。

然后安装这些库

pip3安装python-numpy

pip3安装python-matplotlib

测试代码以检测图像中的人脸:

导入cv2

faceCascade = cv2.CascadeClassifier(“ haarcascade_frontalface_default.xml”);

image = cv2.imread(‘您的文件名’) #example-》 cv2.imread(‘home/pi/Desktop/filename.jpg’)

您将获得像正方形盒子一样的输出形成在照片中人的脸上e。

步骤3:在实时视频中检测和识别人脸

导入cv2

将numpy导入为np

导入操作系统

导入序列

ser = serial.Serial(‘/dev/ttyACM0’,9600,timeout = 1) #/dev/ttyACM0可能根据您的情况而定,取决于arduino

cascadePath =“ haarcascade_frontalface_default.xml”

faceCascade = cv2.CascadeClassifier(cascadePath)

识别= cv2.face.createLBPHFaceRecognizer()

结果

images = []

labels = []

im = cv2.imread(‘数据集/’+文件名,0)

images.append(im)

labels.append(int(filename.split(‘。’)[0] [0]))

#打印文件名

nam es_file =开放( ‘labels.txt’)

名= names_file.read()。分裂( ‘ n’)

recognizer.train(images,np.array(labels))

打印“培训完成”。 。 。 ‘

font = cv2.FONT _

HERSHEY_SIMPLEXcap = cv2.VideoCapture(1)#您的视频设备

lastRes =’‘count = 0

while(1):

_,frame = cap.read()

gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)

面孔= faceCascade.detectMultiScale(gray,1.3,5)

count + = 1

为(x,y,w, h):

cv2.rectangle(frame,(x,y),(x + w,y + h),(255,0,0),2 )

如果计数》 20:res = names [recognizer.predict(gray [y:y + h,x:x + w])-1]

如果res!= lastRes:

lastRes = res

打印lastRes

ser.write(lastRes)

计数= 0

打破

cv2 .imshow(’frame‘,frame)

k = 0xFF&cv2。 waitKey(10)

如果k == 27:

中断

的 cap.release()

ser.close()

cv2.destroyAllWindows()

步骤4:运行代码

1。下载上一步中随附的文件

2。将灰色照片(6张图像/样本。..。.)复制到数据集文件夹

1.Tom Cruise-》 1_1,1_2,1_3,1_4,1_5, 1_6 (用于更多打开的数据集文件夹的数据集图像编号)

2。布拉德·皮特(Brad Pitt)-》 2_1,2_2,2_3,2_4,2_5,2_6

3。利奥---》 3_1,3_2,3_3,3_4,3_5,3_6

4。铁人三项 - 》 4_1,4_2,4_3,4_4,4_5,4_6

结果

像上面一样,您可以为各个人添加标签

因此,如果pi检测到1_1中的人脸, 1_2,1_3,1_4,1_5,1_6,然后它被标记为汤姆·克鲁斯(Tom Cruise),所以在上传照片时请小心。

,然后将您的arduino连接到树莓派并在main.py代码中进行更改。ser= serial.Serial(’/dev/ttyACM0‘,9600,timeout = 1)3.put所有下载的文件(main.py,dataset文件夹,haarcascade_frontalface_default.xml在一个文件夹中。)

3。现在打开Raspi终端,通过“ sudo python main.py”运行您的代码

4.arduino LCD将显示检测到的面部名称

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人脸识别
    +关注

    关注

    76

    文章

    3953

    浏览量

    80532
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40762
收藏 人收藏

    评论

    相关推荐

    【飞腾派4G版免费试用】飞腾派SeetafaceEngine人脸检测

    收到个飞腾派,周末有空玩玩。。。 Seetaface是2016年中科院老师开源的的人脸识别引擎。https://github.com/seetaface/SeetaFaceEngine 源码
    发表于 12-18 10:53

    Android系统下OpenCV人脸检测模块的设计

    电子发烧友网站提供《Android系统下OpenCV人脸检测模块的设计.pdf》资料免费下载
    发表于 10-23 09:37 0次下载
    Android系统下<b class='flag-5'>OpenCV</b>的<b class='flag-5'>人脸</b>检测模块的设计

    求助,关于人脸识别demo的疑问

    PaddlePi的git仓库里边有个人脸识别的demo,使用了三个模型:detect.kmodel、feature.kmodel、key_point.kmodel,能否告知这三个模型使用的算法
    发表于 09-14 06:57

    【RISC-V + OpenCV 计算机视觉】用 VisionFive 2 昉·星光 2 进行物体识别

    RVSpace:【RISC-V + OpenCV 计算机视觉】用 VisionFive 2 昉·星光 2 进行物体识别 bilibili:【【RISC-V + OpenCV 计算机视觉】用
    发表于 09-08 11:42

    生物识别人脸识别的区别

    人脸图片或视频进行分析和识别,以确定个体身份的一种方法。本文将探讨生物识别人脸识别的概念、应用领域和区别。
    发表于 08-28 17:29 851次阅读

    人脸识别的算法有哪些

    人脸识别的算法有哪些 人脸识别算法现在已经广泛应用于各个领域,如安防、商业、医疗等。人脸识别算法
    的头像 发表于 08-09 18:34 3292次阅读

    人脸识别和指纹识别哪个安全?

    进行探讨,以期为大家解决这个问题。 一、技术原理 人脸识别和指纹识别的原理有所不同。人脸识别是通过比对
    的头像 发表于 08-09 18:26 1694次阅读

    人脸识别和指纹识别哪个安全?人脸识别和指纹识别的利弊及风险

      人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪
    发表于 08-03 16:55 2321次阅读

    人脸识别技术的工作原理和优缺点 人脸识别和图像识别的区别

      人脸识别技术是一种用于识别和验证人脸身份的技术。它使用计算机算法和数学模型识别人脸的不同特征和模式,以区分不同的
    发表于 08-03 16:53 1532次阅读

    基于OpenCV人脸识别算法ARM移植

      要:基于OpenCV人脸识别算法完成了ARM的移植,并应用于汽车电动尾门系统中。系统以单片机摘为核心,通过CAN总线与车身控制器BCM相连,发挥机电一体化优势,实现了汽车尾门的智能化控制
    发表于 07-20 14:37 0次下载

    基于python代码的人脸识别实例

    基于python代码的一个人脸识别的实例,完整的实例,本人在pycharm中实测通过,是一个很基础的入门级的人脸检测和识别
    发表于 07-18 11:11 10次下载

    人脸识别是如何实现的 人脸识别模型有哪些

    人脸识别是一种通过技术手段对人脸图像进行分析和比对,以判断身份或识别个体的过程。
    发表于 06-27 17:26 2860次阅读

    人脸面部表情识别的原理及其应用

    面部表情的自动识别人脸面部表情识别的原理主要包括三个步骤:人脸检测、特征提取和分类器训练。首先,通过计算机视觉技术将人脸从背景或其他图像
    的头像 发表于 06-02 17:57 2767次阅读

    OpenCV人脸监测与识别步骤

    人脸识别技术是基于人的脸部特征,对输入的人脸图像或者视频流,首先判断其是否存在人脸,如果存在人脸,则进一步的给出每个脸的位置、大小和各个主要
    的头像 发表于 05-15 09:18 1119次阅读
    <b class='flag-5'>OpenCV</b><b class='flag-5'>人脸</b>监测与<b class='flag-5'>识别</b>步骤

    国产工业级RK3568核心板-AI人脸识别产品方案

    ,自动对焦等功能的摄像头模组,以保证图像质量和拍摄效果。在图像采集的过程中,可以使用RK3568内置的ISP图像处理单元对图像进行优化,提高人脸识别的准确率和稳定性。 LCD显示屏:目前提供7寸MIPI屏
    发表于 05-06 14:30