树莓派4b之初学者入门人脸识别(手把手完整版)

您所在的位置:网站首页 基于树莓派的智能机器人 树莓派4b之初学者入门人脸识别(手把手完整版)

树莓派4b之初学者入门人脸识别(手把手完整版)

#树莓派4b之初学者入门人脸识别(手把手完整版)| 来源: 网络整理| 查看: 265

目录 前言:【硬件配置】一、烧录镜像和环境配置二、代码详解1、基础知识2、相关代码及其详细注释 三、代码部署和运行

前言:

树莓派的性能日益强大,树莓派4b相比上一代的能有了很大的提升,采用了博通最新的BCM4908 64bit处理器,内存从1G升级到2G和4G,视频支持4K,价格依旧美丽。本文将从硬件和软件出发,手把手与大家分享如何用树莓派实现人脸识别,包括硬件配置,环境搭载,代码详解,程序部署。

硬件工具准备:

32G内存卡树莓派4B电源摄像头读卡器屏幕(这个可以用远程代替)

软件工具准备:

Win32DiskImager镜像包

环境

opencv4.2.0python3.7.3 【硬件配置】 树莓派:相比上一代树莓派,树莓派4B在性能各方面有了很大的提升,强烈推荐,本文采用树莓派4B2G版。摄像头:本文采用某宝购买的树莓派非原装摄像头,20多元,原装摄像头太贵了,不推荐购买,土豪随意。屏幕:分辨率1024*600,可触屏

在这里插入图片描述

一、烧录镜像和环境配置

镜像烧录传送门:树莓派4b之镜像烧录(手把手完整版)

这里采用的是opencv4.2.0,其安装方式有两种:

1、采用已经安装好opencv的镜像进行烧录

镜像过几天打包后分享出来

2、自己进行安装或编译安装

编译安装教程传送门:树莓派安装opencv4.2.0 二、代码详解 1、基础知识 以下代码是基于Haar+Cascade分类器实现人脸识别

相关课程请参看慕课课程:OpenCV+Tensorflowr入门人工智能图像处理 可在B站上搜寻观看,也可通过百度网盘下载后观看(包括源码)

下载链接:https://pan.baidu.com/s/1ZZgXih-4AsQOrbHVW74k5Q 提取码:xwlp

相关理论基础可观看章节:

Haar概念及其原理 视频1 视频2 视频3 笔记Adaboost的分类结构及其使用 视频 笔记Adaboost训练步奏以及训练后的xml文件 视频 笔记基于Haar+Adaboost人脸识别 视频 笔记

相关笔记请查看简书:犬夜叉写作业

对于初学者,建议抽空把整个课程看一下,能有所收获

2、相关代码及其详细注释 ''' Haar Cascade Face detection with OpenCV Based on tutorial by pythonprogramming.net Visit original post: https://pythonprogramming.net/haar-cascade-face-eye-detection-python-opencv-tutorial/ Adapted by Marcelo Rovai - MJRoBot.org @ 7Feb2018 ''' import numpy as np import cv2 #导入opencv内部已经训练好的人脸模型 faceCascade = cv2.CascadeClassifier('Cascades/haarcascade_frontalface_default.xml') #打开摄像头,并设置窗口大小 cap = cv2.VideoCapture(0) cap.set(3,640) # set Width cap.set(4,480) # set Height #进行人脸识别 while True: ret, img = cap.read() #读取摄像头采集到的图片 #img = cv2.flip(img, -1) #将摄像头180旋转,摄像头倒放的时候需要 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #将读取的图片转换为灰度图 faces = faceCascade.detectMultiScale( gray, scaleFactor=1.2, minNeighbors=5 , minSize=(20, 20) ) #采用Haar+Cascade分类器进行脸部识别 for (x,y,w,h) in faces: #将识别到的人脸用蓝色框框出来,x:横坐标;y纵坐标;w:宽度;h:高度(即(x,y):表示画蓝色框的起点;w,h表示蓝色框的长和宽) cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2) roi_gray = gray[y:y+h, x:x+w] roi_color = img[y:y+h, x:x+w] cv2.imshow('video',img) #显示到屏幕上 k = cv2.waitKey(30) & 0xff if k == 27: # 按'ESC'退出摄像头 break cap.release() #释放摄像头 cv2.destroyAllWindows() #关闭窗口 三、代码部署和运行

将以上代码写入成文件,命名为face.py 我已经写好了,可以在这里下载:

链接:https://pan.baidu.com/s/1AEdGP2svw7B-mBPVNM1rGQ 提取码:h96w

可以先用电脑下载下来,再远程拷贝进树莓派里面

里面的haarcascade_frontalface_default.xml也要下载下来

进入树莓派/home/pi/Downloads,这个目录可以随意,看你想把程序放在哪里了

cd /home/pi/Downloads

将face.py和haarcascade_frontalface_default.xml同时拷贝进去,这样就部署完成了

在这里插入图片描述

输入以下代码运行程序:

#要进入文件所在位置,才能找到文件 cd /home/pi/Downloads #运行程序 python3 face.py

运行成功!!!

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3