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

    文章

    4004

    浏览量

    81698
  • OpenCV
    +关注

    关注

    29

    文章

    625

    浏览量

    41223
收藏 人收藏

    评论

    相关推荐

    带阻滤波器在人脸识别中的应用

    处理是至关重要的一环,而带阻滤波器作为信号处理领域的重要工具,其在人脸识别中的应用也显得尤为重要。本文将从带阻滤波器的基本原理、人脸识别的关键步骤、带阻滤波器在
    的头像 发表于 08-08 18:15 838次阅读

    基于OpenCV人脸识别系统设计

    基于OpenCV人脸识别系统是一个复杂但功能强大的系统,广泛应用于安全监控、人机交互、智能家居等多个领域。下面将详细介绍基于OpenCV人脸
    的头像 发表于 07-11 15:37 1.1w次阅读

    人脸识别技术的可行性在于矛盾具有什么性

    矛盾的普遍性角度,探讨人脸识别技术的可行性,并分析其在实际应用中所面临的矛盾和问题。 二、人脸识别技术概述 人脸
    的头像 发表于 07-04 09:28 415次阅读

    人脸识别技术的优缺点有哪些

    人脸识别技术是一种基于人脸特征信息进行身份识别的生物识别技术。随着计算机视觉、深度学习等技术的发展,人脸
    的头像 发表于 07-04 09:25 1733次阅读

    人脸识别技术将应用在哪些领域

    人脸识别技术是一种基于人脸特征信息进行身份识别的生物识别技术。随着科技的发展,人脸
    的头像 发表于 07-04 09:24 2322次阅读

    人脸识别技术的原理介绍

    人脸识别技术是一种基于人脸特征信息进行身份识别的生物识别技术。它通过分析人脸图像,提取
    的头像 发表于 07-04 09:22 1030次阅读

    如何设计人脸识别的神经网络

    人脸识别技术是一种基于人脸特征信息进行身份识别的技术,广泛应用于安全监控、身份认证、智能门禁等领域。神经网络是实现人脸
    的头像 发表于 07-04 09:20 519次阅读

    人脸识别模型训练是什么意思

    人脸识别模型训练是指通过大量的人脸数据,使用机器学习或深度学习算法,训练出一个能够识别和分类人脸的模型。这个模型可以应用于各种场景,如安防监
    的头像 发表于 07-04 09:16 442次阅读

    人脸检测和人脸识别的区别是什么

    检测和人脸识别的区别。 定义 人脸检测是指在图像或视频中快速准确地找到人脸的位置,并将其从背景中分离出来的技术。人脸检测的目的是确定图像中是
    的头像 发表于 07-03 14:49 864次阅读

    人脸检测与识别的方法有哪些

    人脸检测与识别是计算机视觉领域中的一个重要研究方向,具有广泛的应用前景,如安全监控、身份认证、智能视频分析等。本文将详细介绍人脸检测与识别的方法。 引言
    的头像 发表于 07-03 14:45 609次阅读

    请问esp who人脸识别的脸部信息如何保存在sd卡中?

    esp who人脸识别的脸部信息如何保存在sd卡中?
    发表于 06-28 08:09

    人脸识别终端 10寸人脸

    终端人脸识别
    深圳市远景达物联网技术有限公司
    发布于 :2024年04月22日 16:01:46

    公司人脸识别考勤门禁摄像机#人脸识别#智能摄像机

    AI人脸识别
    jf_07511428
    发布于 :2024年03月06日 22:52:08

    人脸识别技术的原理是什么 人脸识别技术的特点有哪些

    人脸检测是人脸识别的首要步骤。其目标是在图像或视频中准确地定位人脸的位置。人脸检测算法常用的方法有基于特征的方法、基于统计的方法和基于神经
    的头像 发表于 02-18 13:52 1587次阅读

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

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