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

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

3天内不再提示

怎样在树莓派上设置OpenCV进行人脸检测

454398 来源:工程师吴畏 2019-08-05 11:03 次阅读

什么是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 update

sudo apt-get upgrade

在终端中键入以下命令,以便在Raspberry Pi上安装OpenCV所需的软件包。

sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4

键入以下命令以安装OpenCV 3 for Raspberry Pi上的Python 3, pip3 告诉我们将为Python 3安装OpenCV。

sudo pip3 install opencv-contrib-python libwebp6

完成这些步骤后,应安装OpenCV。让我们测试一下我们的工作吧!

测试OpenCV

要检查OpenCV是否安装正确,请尝试键入以下内容导入OpenCV:

Python3

然后:

import cv2

如果没有显示错误,则安装成功!

要知道您拥有哪个版本的OpenCV,请输入以下命令:/p》

cv2.__version__

此消息告诉您在Raspberry Pi上安装的OpenCV版本。

推荐的可选库

还有其他要安装的库,当你进行对象检测和其他项目时会派上用场,所以我很高兴修改你也安装这些。

NumPy

第一个库是NumPy - 一个使Python中的数组操作易于执行的库。键入以下命令安装NumPy:

pip3 install python-numpy

Matplotlib

第二个库是Matplotlib。 Matplotlib是一个Python绘图库,可以跨平台生成各种硬拷贝格式和交互式环境的出版物质量数据。键入以下命令安装Matplotlib:

pip3 install python-matplotlib

现在我们已经完成了在Raspberry Pi上安装OpenCV和有用的附带库。让我们在Raspberry Pi上使用OpenCV进行对象检测和机器学习。

Face使用OpenCV检测图片

让我们从编写将要检测的代码开始面对它收到的图像。对于面部检测,您需要一个级联文件。将此文件保存在工作目录中“haarcascade_frontalface_default.xml”。

输入要检测面部的图像的路径进入下面的代码并运行代码。

# Import OpenCV library

import cv2

# Load a cascade file for detecting faces

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

# Load image

image = cv2.imread(‘obamafamily.jpg’)

# Convert into grayscale

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

# Look for faces in the image using the loaded cascade file

faces = faceCascade.detectMultiScale(gray, 1.2, 5)

for (x,y,w,h) in faces:

# Create rectangle around faces

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

# Create the resizeable window

cv2.namedWindow(‘Obama’, cv2.WINDOW_NORMAL)

# Display the image

cv2.imshow(‘Obama’, image)

# Wait until we get a key

k=cv2.waitKey(0)

# If pressed key is ‘s’

if k == ord(‘s’):

# Save the image

cv2.imwrite(‘convertedimage.jpg’, image)

# Destroy all windows

cv2.destroyAllWindows()

# If pressed key is ESC

elif k == 27:

# Destroy all windows

cv2.destroyAllWindows()

运行代码后,它将在面部周围绘制矩形,如下图所示。

运行代码后,所有检测到的面部周围都会出现矩形。

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

    关注

    0

    文章

    80

    浏览量

    16457
  • OpenCV
    +关注

    关注

    31

    文章

    635

    浏览量

    41340
  • 树莓派
    +关注

    关注

    116

    文章

    1707

    浏览量

    105610
收藏 人收藏

    评论

    相关推荐

    FacenetPytorch人脸识别方案--基于米尔全志T527开发板

    识别模型。FaceNet 是由 Google 研究人员提出的一种深度学习模型,专门用于人脸识别任务。 利用PyTorch神经网络算法进行人脸图像对比的实验设置中,我们专注于对比环节,
    发表于 11-28 15:57

    《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验

    了用于人脸检测人脸特征提取的KPU对象。然后便是一个循环中不断地获取摄像头输出的图像,首先将图像进行人脸
    发表于 11-18 14:30

    《DNK210使用指南 -CanMV版 V1.0》第四十四章 人脸68关键点检测实验

    的KPU对象。然后便是一个循环中不断地获取摄像头输出的图像,首先将图像进行人脸检测检测图像中存在的人脸,接着对
    发表于 11-18 14:28

    如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板

    功能,首先要进行人脸检测,判断出图片中人脸的位置,才能进行下一步的操作。 OpenCV人脸
    发表于 11-15 17:58

    如何在树莓派上安装Docker容器

    1. 准备工作 开始之前,请确保你的树莓派已经安装了最新版本的Raspberry Pi OS。如果没有,请按照以下步骤操作: 下载最新的Raspberry Pi OS镜像:访问 Raspberry
    的头像 发表于 11-11 11:38 510次阅读

    树莓派上部署YOLOv5进行动物目标检测的完整流程

    卓越的性能。本文将详细介绍如何在性能更强的计算机上训练YOLOv5模型,并将训练好的模型部署到树莓派4B上,通过树莓派的摄像头进行实时动物目标检测。 一、
    的头像 发表于 11-11 10:38 936次阅读
    <b class='flag-5'>在</b><b class='flag-5'>树莓</b><b class='flag-5'>派上</b>部署YOLOv5<b class='flag-5'>进行</b>动物目标<b class='flag-5'>检测</b>的完整流程

    基于OPENCV的相机捕捉视频进行人脸检测--米尔NXP i.MX93开发板

    本文将介绍基于米尔电子MYD-LMX93开发板(米尔基于NXPi.MX93开发板)的基于OpenCV人脸检测方案测试。OpenCV提供了一个非常简单的接口,用于相机捕捉一个视频(我用
    的头像 发表于 11-07 09:03 1085次阅读
    基于<b class='flag-5'>OPENCV</b>的相机捕捉视频<b class='flag-5'>进行人脸</b><b class='flag-5'>检测</b>--米尔NXP i.MX93开发板

    基于OpenCV人脸识别系统设计

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

    人脸检测模型的精确度怎么算

    人脸检测模型的精确度评估是一个复杂的过程,涉及到多个方面的因素。本文将从以下几个方面进行介绍:人脸检测模型的基本概念、评估指标、评估方法、影
    的头像 发表于 07-04 09:14 498次阅读

    人脸检测模型有哪些

    人脸检测是计算机视觉领域的一个重要研究方向,它涉及到从图像或视频中检测出人脸的位置和大小。随着深度学习技术的发展,人脸检测模型的性能得到了显
    的头像 发表于 07-03 17:05 1010次阅读

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

    人脸检测人脸识别是计算机视觉领域的两个重要技术,它们许多应用场景中都有广泛的应用,如安全监控、身份验证、社交媒体等。尽管它们某些方面有
    的头像 发表于 07-03 14:49 1189次阅读

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

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

    ESP32-S3运行人脸检测功耗有多大呢?

    ESP32-S3运行人脸检测,功耗有多大?
    发表于 06-26 06:32

    全志H616核桃派上实现USB摄像头的OpenCV颜色检测

    在给核桃派开发板用OpenCV读取图像并显示到pyqt5的窗口上并加入颜色检测功能,尝试将图像中所有蓝色的东西都用一个框标记出来。颜色检测核心api按照惯例,先要介绍一下opencv
    发表于 01-22 10:10

    核桃派上实现USB摄像头的OpenCV颜色检测

    在前几周的文章中已经介绍过如何在核桃派上OpenCV读取图像并显示到pyqt5的窗口上,这里在上一篇文章的基础上,给开发板加入颜色检测功能,尝试将图像中所有蓝色的东西都用一个框标记出来。
    的头像 发表于 01-20 17:50 937次阅读
    <b class='flag-5'>在</b>核桃<b class='flag-5'>派上</b>实现USB摄像头的<b class='flag-5'>OpenCV</b>颜色<b class='flag-5'>检测</b>