本文主要是介绍树莓派5_opencv笔记27:Opencv录制视频(无声音),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi)
本人所用树莓派5 装载的系统与版本如下:
版本可用命令 (lsb_release -a) 查询:
Opencv 与 python 版本如下:
今天就水一篇文章,用树莓派摄像头,Opencv录制一段视频保存在指定目录...
文章提供测试代码讲解,整体代码贴出、测试效果图
目录
阶段一:录制一段视频
阶段二:录视频保存在指定文件目录
阶段一:录制一段视频
我们一个一个阶段来编写代码,这个阶段代码实现的是打开摄像头开始录制,直到键盘按下Q退出,保存方才的录制为视频文件.avi 在代码同一个目录下
import cv2 # 定义保存视频的参数
fourcc = cv2.VideoWriter_fourcc(*'XVID') # 定义编码器
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480)) # 创建VideoWriter对象 # 打开摄像头
cap = cv2.VideoCapture(0) # 0通常是你的默认摄像头 if not cap.isOpened(): print("Error: Cannot open camera") exit() while True: # 逐帧捕获 ret, frame = cap.read() if not ret: print("Can't receive frame (stream end?). Exiting ...") break # 显示结果帧 cv2.imshow('frame', frame) # 写入帧到文件 out.write(frame) # 按'q'键退出循环 if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放捕获
cap.release()
out.release()
cv2.destroyAllWindows()
阶段二:录视频保存在指定文件目录
此时可以看到录制结束的视频保存在对应文件夹目录了:
import cv2
import os # 定义保存视频的目录和文件名
save_dir = '/home/pi/Code_examples/Videos' # 替换为你的目录路径
filename = 'my_custom_video.avi' # 这里你可以自定义文件名 # 确保目录存在,如果不存在则创建它
if not os.path.exists(save_dir): os.makedirs(save_dir) # 完整的文件路径
full_path = os.path.join(save_dir, filename) # 定义保存视频的参数
fourcc = cv2.VideoWriter_fourcc(*'XVID') # 定义编码器
fps = 20.0 # 帧率
frame_size = (640, 480) # 分辨率 # 创建VideoWriter对象
out = cv2.VideoWriter(full_path, fourcc, fps, frame_size) # 打开摄像头
cap = cv2.VideoCapture(0) # 0通常是你的默认摄像头 if not cap.isOpened(): print("Error: Cannot open camera") exit() # 捕获并保存视频帧
while True: ret, frame = cap.read() if not ret: print("Can't receive frame (stream end?). Exiting ...") break # 显示帧(可选) cv2.imshow('frame', frame) # 写入帧到文件 out.write(frame) # 按'q'键退出循环 if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
这篇关于树莓派5_opencv笔记27:Opencv录制视频(无声音)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!