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

    文章

    71

    浏览量

    16284
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40764
  • 树莓派
    +关注

    关注

    113

    文章

    1636

    浏览量

    104701
收藏 人收藏

    评论

    相关推荐

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

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

    【飞腾派4G版免费试用】飞腾派SeetafaceEngine人脸对齐(PART2)

    0; } 4、demo演示 编译OpenCV project,得到可运行程序OpenCV_UVC,运行人脸对齐测试程序、根据PID号绑定大核运行。 $ ./OpenCV_UVC $
    发表于 12-19 09:57

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

    openCV(网上很多相关教程,这里就不做介绍了)。 编写以下代码,从UVC摄像头取图送往人脸模块模块进行定位,这里可以使用codeblocks、qt等 IDE软件,工程设定so库和
    发表于 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><b class='flag-5'>检测</b>模块的设计

    树莓人脸识别(带电磁锁)设计

    实现功能:人脸识别开锁:运行我们的人脸识别程序后,摄像头会启动每5秒钟左右会拍一次照片,存放在树莓派的根目录下面,并上传百度AI进行人脸对比,返回对比数据,成功的话,我们开启继电器,
    发表于 10-15 10:46 1次下载

    openCV边缘检测原理是什么?

    openCV是通过什么原理来实现边缘检测
    发表于 10-10 06:21

    如何在树莓派上面安装Windows

    早期,想要在树莓派上面安装Windows一直是个比较麻烦的事情,下载系统镜像,烧录、还有一系列复杂的配置。
    的头像 发表于 09-12 09:54 966次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>面安装Windows

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

    VisionFive 2 昉·星光 2 进行物体识别-哔哩哔哩】 https://b23.tv/MdGl5wp 目前,人脸识别、物体识别、行人检测等基于目标
    发表于 09-08 11:42

    MATLAB的行人目标检测的方法有哪些?

    MATLAB的行人目标检测的方法有哪些,就是主要的方法,基于背景的,基于目标的,还有其他的。都有哪些?
    发表于 08-23 16:30

    利用OpenCV进行颜色检测

    关于利用OpenCV进行颜色分类,本文包含了HSV介绍及应用、cv2.inRange及应用、RGB与HSV通道的区别三个方面。
    的头像 发表于 08-18 10:32 850次阅读
    利用<b class='flag-5'>OpenCV</b><b class='flag-5'>进行</b>颜色<b class='flag-5'>检测</b>

    通过OpenCV对地铁车站行人的监测案例

    数据的获取尤为重要,是 科学的行人服务设施规划设计和优化配置的基础。文章采用基于SSD模型行人检测与现常用的基于HOG与SVM特征识别 算法比较对行人
    发表于 07-20 14:45 0次下载

    使用MTCNN和用于ESP32-S3的TensorFlow Lite进行人脸检测

    电子发烧友网站提供《使用MTCNN和用于ESP32-S3的TensorFlow Lite进行人脸检测.zip》资料免费下载
    发表于 06-13 15:28 0次下载
    使用MTCNN和用于ESP32-S3的TensorFlow Lite<b class='flag-5'>进行人脸</b><b class='flag-5'>检测</b>

    如何使用nnstreamer-examples进行人脸识别?

    example_face_recognition_tflite.py 日志时无法检测人脸:2023-05-11 17:27:14.039 警告:[次要] 总线错误内部数据流错误。../git/libs/gst/base/gstbasesrc.c(3127
    发表于 05-24 06:41

    【EsDA应用】5分钟快速实现图像人脸检测

    人脸识别是一种高安全性的生物识别技术,广泛应用在安防、身份验证等领域。而人脸检测进行人脸识别的重要前提,本文主要介绍如何基于EsDA设计的人脸
    的头像 发表于 05-18 10:48 399次阅读
    【EsDA应用】5分钟快速实现图像<b class='flag-5'>人脸</b><b class='flag-5'>检测</b>

    电赛总结之上位机(树莓派python-opencv实时识别黑线)

    并不是最终版本,树莓派专用电池还没有到,我就没有装在车上。在调试opencv代码的时候,我是先将摄像头搭载在小车上,再把摄像头接在电脑上,这样进行调试的时候会最贴合小车行进中所识 别到的路线
    发表于 05-10 09:29 2次下载
    电赛总结之上位机(<b class='flag-5'>树莓</b>派python-<b class='flag-5'>opencv</b>实时识别黑线)