树莓派学习003–利用python对摄像头操作
环境:python3、opencv4.5、Thonny
一、环境搭建
树莓派自带python,ctrl+alt+t(打开命令行)输入
python3
会返回python的版本,如果没有就要安装了
最好先更新一下
sudo apt-get install update
一般来说自己配置opencv非常麻烦,容易出错,所以可以选择已经配置好的系统
链接如下:
检测是否安装好了Opencv
python3
import cv2
cv2.__version__
如上图说明环境已经搭建好了。
二、打开Thonny编辑软件
1.实现摄像头实时预览
import numpy as np
import cv2
cap=cv2.VideoCapture(0) #0代表树莓派上自带的摄像头,1代表USB摄像头
#一下cap.set(),可以注释掉#
cap.set(3,320)#摄像头采集图像的宽度320
cap.set(4,240)#摄像头采集图像的高度240
cap.set(5,30) #摄像头采集图像的帧率fps为30
#查看采集图像的参数
print(cap.get(3))
print(cap.get(4))
print(cap.get(5))
while(True):
ret,color_frame=cap.read()
img1=cv2.flip(color_frame,0) #翻转图像,0垂直翻转,1水平翻转,-1水平垂直翻转
cv2.imshow('color_frame',img1) #展示每一帧
if cv2.waitKey(1)&0xff==ord('q'): #按Q键退出,可以改成任意键
break
cap.release()
cv2.destroyAllWindows()
2.采集视频并录制
import numpy as np
import cv2
cap= cv2.VideoCapture(0)
fourcc =cv2.VideoWriter_fourcc(*'XVID')
out =cv2.VideoWriter('output2.avi',fourcc,20.0,(640,480))
while(cap.isOpened()):
ret,frame=cap.read()
if ret==True:
out.write(frame)
cv2.imshow('frame',frame)
if cv2.waitKey(1) &0xff==ord('q'):
break
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()