上一篇:树莓派4B远程控制
下一篇:Windows 10安装NCS2环境并进行模型格式转换
一、配置树莓派摄像头
1.1、usb摄像头配置
1.1.1、将usb摄像头连接到树莓派
1.1.2、升级系统
1.1.3、打开系统配置Camera
1.1.4、操作摄像头
1.2、官方摄像头配置
1.2.1、将官方摄像头连接到树莓派
1.2.2、配置并检测摄像头
二、调用摄像头实现实时人脸检测
三、参考资料
将摄像头的USB口连接到树莓派的任意一个USB口后再开机。一定要先接摄像头再开机,不然树莓派可能无法识别。
输入输入lsusb
或者ls /dev/video*
命令:
查看是否有ID:05a3:9230 ARC International Camera
或者/dev/video0
设备,有的话说明树莓派已经检测到我们的摄像头设备,可以进行下一步操作。
用如下的命令来更新一下系统:
sudo apt-get update
sudo apt-get upgrade
确保Camera已打开:
sudo apt-get install mplayer -y
sudo apt-get install fswebcam -y
sudo mplayer tv://
fswebcam -d /dev/video0 --no-banner -r 320x240 -S 10 /home/pi/image.jpg
-d
是配置使用哪个摄像设备--no-banner
拍出来照片没水印,不加的话,可能会报字体问题-r
后的是图片的宽与高-S
跟曝光度设置差不多。从1到10,越来越不刺眼的感觉,如果不设置这个参数或者设置为0的话可能拍出黑照片。插入摄像头时需提起挡板,注意连接线蓝色一面需面向网线端口一侧,插入摄像头后按下挡板
sudo nano /etc/modules
在文末加入一行:
bcm2835-v412
#树莓派cpu是博通公司bcm2835型号,加上这一行可以识别摄像头
重启树莓派
输入命令:
vcgencmd get_camera
若输出supported=1 detected=1
,则说明检测到了摄像头
raspistill -o image.jpg
调用摄像头拍摄一张图片,命名为image.jpg
,存储在当前目录,如果看到摄像头上亮红灯,目录里有照片,则进一步说明摄像头配置正确。
fswebcam 10 test.jpg
延时10s拍摄,产生一张名称为test的图片
export DISPLAY=:0.0
sudo apt-get install python-opencv
face-detection-camera.py
文件,并写入以下内容:# coding=utf-8
# face-detection-camera.py
import cv2 as cv
import numpy as np
print('开始人脸摄像头实时检测')
# 载入模型文件和权重文件
net = cv.dnn.readNet('face-detection-adas-0001.xml','face-detection-adas-0001.bin')
# Specify target device
net.setPreferableTarget(cv.dnn.DNN_TARGET_MYRIAD)
# 从摄像头中读取图像帧
cap=cv.VideoCapture(0)
while(1):
# 获取一帧图像
ret,frame=cap.read()
# Prepare input blob and perform an inference
frame=cv.resize(frame,(480,320),interpolation=cv.INTER_CUBIC)
blob=cv.dnn.blobFromImage(frame,size=(672,384),ddepth=cv.CV_8U)
net.setInput(blob)
out=net.forward()
# 绘制人脸框
for detection in out.reshape(-1,7):
confidence=float(detection[2])
# 获取左上角图片坐标
xmin=int(detection[3]*frame.shape[1])
ymin=int(detection[4]*frame.shape[0])
# 获取右下角图片坐标
xmax=int(detection[5]*frame.shape[1])
ymax=int(detection[6]*frame.shape[0])
if confidence > 0.5:
cv.rectangle(frame,(xmin,ymin),(xmax,ymax),color=(0,255,0))
# 展示图像
cv.imshow('capture',frame)
if cv.waitKey(1)&0xFF==ord('q'):
# 每1秒监听一次键盘的动作,按q键结束,并保存图片
cv.imwrite('out.png',frame)
print('save one image done!')
break
# 关闭摄像头及显示窗口
cap.release()
cv.destroyAllWindows()
print('人脸摄像头实时检测完成')
将face-detection-camera.py
放入face-detection-adas-0001.xml
,face-detection-adas-0001.bin
同级目录,并执行:
python3 face-detection-camera.py
可以左右移动人脸查看识别情况,界面上会在检测到的人脸画一个绿色的框
按键盘Q
键可退出检测,并保存最后一帧图像
1.树莓派3b+和 intel movidius 神经元计算棒2代 跑yolo v3 tiny
2.树莓派高帧率广角摄像头
3.树莓派官方原装摄像头