当前位置: 首页 > news >正文

树莓派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()


http://www.mrgr.cn/news/22027.html

相关文章:

  • 【GEE支持哪些编程语言】
  • 写作积累之《三国演义》经典语录、第 1 集 《桃园三结义》(上)
  • [环境配置]ubuntu20.04安装后wifi有图标但是搜不到热点解决方法
  • Mysql高级篇(中)——七种常见的 join 查询图
  • ccfcsp-202206(1、2、3)
  • 【JavaScript】LeetCode:21-25
  • 我与Linux的爱恋:yum和vim以及gcc的使用
  • 体育馆智能可视化:提升场馆管理与观赛体验
  • 如何做好网络安全
  • vulhub spring 远程命令执行漏洞(CVE-2022-22963)
  • Popup源码分析 -- ant-design-vue系列
  • STM32(十一):ADC数模转换器实验
  • QML入门之基本元素
  • 【iOS】Masnory的简单学习
  • 业务资源管理模式语言10
  • C++ linux下的cmake
  • JAVA基础:值传递和址传递
  • anaconda3下的python编程练习-csv翻译器相关
  • STM32内部闪存FLASH(内部ROM)、IAP
  • 【牛站 / USACO2007】