OpenCv+USB摄像头实现人脸追踪(附代码)

一、写在前头

哈喽。各位小伙伴。我又来更新一下了,前不久我不是写了一篇树莓派加USB摄像头进行颜色识别和颜色追踪嘛,后来就觉得生活中这些东西应用到的地方很少,小编才疏学浅,欢迎各位大佬批评指教,有知道哪里可以应用的地方,欢迎留言。然后呢,我就考虑人脸识别和人脸追踪是不是相对应用方面比较多一点,所以呢,我就开始了我的人脸识别的漫漫长路(此处省略一万字),人脸识别是真的难。终于在小编的不懈努力下,终于完成了一个简单的人脸识别并通过云台完成了人脸追踪。下面我们一起来学习一下吧!

二、前期准备

树莓派4b(其他版本的均可,数据处理速度略微影响)
两个舵机(分别完成左右、上下转动)
舵机支架(有条件的同学可以3D打印出自己的创意)
电池(方便携带,移动)
⭐️BET-AI扩展板(代码里用的到)

三、PC9685驱动舵机

这里小编说一下,为什么会用PC9685来进行驱动舵机呢?那是因为我们的舵机都是有三个引脚来控制的,一个是信号线,一个是VCC一个是GND,而树莓派上面只有29个gpio引脚,而每个舵机都需要一个singal引脚,有可能会不够用,所以我们使用PC9685用于进行多路pwm控制舵机驱动板,并且我们使用i2c进行通讯,这样我们只需要几根i2c线就可以对16路pwm进行控制。一般我们下载的镜像里没有PC9685驱动,需在终端里输入
sudo apt-get install build-essential python-pip python-dev python-smbus git
git clone https://github.com/adafruit/Adafruit_Python_PCA9685.git
下载完成后,进入生成的,启动驱动
终端依次输入:
cd Adafruit_Python_PCA9685
sudo python setup.py install
这样就搞定了。
还有如果有些小伙伴进行到这里发现有报错,检查一下你的树莓派i2c是不是打开了。我的就是没有打开,害得我白忙了半天,哎说多了都是泪啊。
下面我们可以检查一下自己的云台接线问题,我们运行代码,若发现云台无动静,我们可以把舵机的接线换到其他引脚试试,经过亲身经历,这些问题都解决了。

四、代码

from future import division
import cv2
#import Adafruit_PCA9685
import time
#这是不带舵机的版本
cap = cv2.VideoCapture(0)
cap.set(3, 320)
cap.set(4, 320)
#face.xml的位置要和本程序位于同一文件夹下
face_cascade = cv2.CascadeClassifier( ‘123.xml’ )
完整代码,私聊。

五、写在最后

我们的云台由于舵机能力的有限,树莓派处理数据的能力,以及网络的影响,不能实现超灵敏的识别,不能用于工业生产中,不过可作为日常生活中的一根小玩具,在家放着做一个小监控还是不错的,对于爱好树莓派的你来说,是一个不错的研究项目。哈哈,就这样啦,敬请期待小编下面的更新吧。拜拜喽!

猜你喜欢

转载自blog.csdn.net/qq_53188955/article/details/116116622
今日推荐