人脸识别大家并不陌生,在树莓派上进行人脸识别的教程已经有不少了,所以本文就不上传代码了。跟着网上的教程弄完之后我发现树莓派的运算能力很差,显示人脸的时候图像都会卡,就更别提识别了。
后来我想可以把树莓派上的摄像头分享到windows上,反正都是一个网络,就在windows上进行人脸识别,然后把相应的结果传回树莓派,这样树莓派就只进行接收数据和控制舵机,图像就不会卡顿了。
用一张图表示
mjpg-streamer
摄像头共享软件,支持linux,通过它把图像传到windows主机上,图像非常流畅几乎没有延迟,端口默认8080
运行之后在opencv初始化时直接写地址
cap=cv2.VideoCapture("http://ip:8080/?action=stream")
识别的过程就不说了,识别完通过判断人脸的位置,计算出舵机应该转动的角度,再通过socket发到树莓派上面,最后树莓派控制舵机转动,这样就可以实时人脸检测
本文只提供思路,不上传代码