linux环境下基于python的OpenCV 保存视频
一 概念
在OpenCV中保存视频使用的是VedioWriter对象,在其中指定输出文件的名称,
A 创建视频写入的对象
out = cv2.VideoWriter(filename,fourcc, fps, frameSize)
参数含义:
- filename:视频保存的位置
- fourcc:指定视频编解码器的4字节代码
- fps:帧率
- frameSize:帧大小
B 设置视频的编解码器
retval = cv2.VideoWriter_fourcc( c1, c2, c3, c4 )
参数含义:
c1,c2,c3,c4: 是视频编解码器的4字节代码,在fourcc.org中找到可用代码列表,与平台紧密相关,常用的有:
- 在Windows中:DIVX(.avi)
- 在OS中:MJPG(.mp4),DIVX(.avi),X264(.mkv)。
C .获取摄像头
利用cap.read()获取摄像头中的每一帧图像,并使用out.write()将某一帧图像写入视频中。
D.释放资源
使用cap.release()和out.release()释放资源。
2 实例解析
切记,树莓派下video一般是0
import cv2 as cv # 1. 读取摄像头
cap = cv.VideoCapture(0) # 2. 获取图像的属性(宽和高,),并将其转换为整数
frame_width = int(cap.get(3))
frame_height = int(cap.get(4)) # 3. 创建保存视频的对象,设置编码格式,帧率,图像的宽高等
out = cv.VideoWriter('outpy.avi', cv.VideoWriter_fourcc('M', 'J', 'P', 'G'), 10, (frame_width, frame_height)) # 保存视频
while(True): # 4.获取视频中的每一帧图像
ret, frame = cap.read()
if ret == True: # 5.将每一帧图像写入到输出文件中
out.write(frame) #视频写入
else:
break # 6.释放资源
cap.release()
out.release() #资源释放
cv.destroyAllWindows()
linux环境下基于python的OpenCV 保存视频的更多相关文章
- Linux 环境下安装python相关
目录 Linux 环境下安装python相关 linux软件包管理工具之yum工具(如同pip3工具) yum源理解 下载阿里云的.repo仓库文件 ,放到/etc/yum.repos.d/ yum安 ...
- 尚学python课程---11、linux环境下安装python注意
尚学python课程---11.linux环境下安装python注意 一.总结 一句话总结: 准备安装依赖包:zlib.openssl:yum install zlib* openssl*:pytho ...
- 尚学linux课程---10、linux环境下安装python
尚学linux课程---10.linux环境下安装python 一.总结 一句话总结: 直接在官网下载python的源码包即可,然后在linux下安装 linux下安装软件优先想到的的确是yum,但是 ...
- linux环境下安装python 3
说明: 在linux环境下,都默认安装python 2的环境,由于python3在python2的基础上升级较大,所以安装python 3环境用于使用最新的python 3的语法. 安装过程: 1.下 ...
- linux环境下的python安装过程
一.下载python源码包 打开ubuntu下的shell终端,通过wget命令下载python源码包,如下图所示: wget https://www.python.org/ftp/python/3. ...
- linux环境下的python安装过程(含setuptools)
这里我不想采用诸如ubuntu下的apt-get install方式进行python的安装,而是在linux下采用源码包的方式进行python的安装. 一.下载python源码包 打开ubuntu下的 ...
- linux环境下安装python
在linux系统中安装python解释器 打开官网www.python.org 选择合适的版本进行下载 将下载好的压缩包拖入Xshell中,依次输入一下命令即可 tar xf Python-.tar. ...
- [Python学习] Linux环境下的Python配置,必备库的安装配置
1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的py ...
- Linux环境下搭建python+selenium+webdriver环境
1.下载并安装python,一般安装linux系统,自带有python,则python不用安装.要下载可以在官网上下载: 或者使用下面命令安装: sudo apt-get install python ...
- windows 环境下基于Python 的GDAL 安装
最近由于需要利用pytho处理地理空间数据,但是python本身并没有访问和处理地理空间数据的包,只能借助于GDAL(Geospatial Data Abstraction Library)来进行访问 ...
随机推荐
- STM32CubeMX教程29 USB_HOST - 使用FatFs文件系统读写U盘
1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 ...
- 遥感图像处理笔记之【FastAI Multi-label image classification】
遥感图像处理学习(4) 前言 遥感系列第4篇.遥感图像处理方向的学习者可以参考或者复刻 本文初编辑于2023年12月15日 2024年1月24日搬运至本人博客园平台 文章标题:FastAI Multi ...
- Windows 7 Ultimate with Service Pack 1 (x64)
Windows 7 Ultimate with Service Pack 1 (x64) 链接:https://pan.baidu.com/s/1ZHODDFlJPLQ3ydxZ4rfc3g 提取码: ...
- ElasticSearch7.3学习(一)----采用restful风格 基本的增删查改语句
1 .新建图书索引 首先建立图书索引 book 语法:put /index PUT /book 结果 2.新增图书 :新增文档 语法:PUT /index/type/id PUT /book/_doc ...
- Cpu是如何选择线程的?
Cpu是如何选择线程的? linux中线程存放格式 linux中线程与进程对应的结构体都是task_struct 唯一不同的点在于线程存放的东西少了点(由于一个进程中的线程们是共享一定数据的那些东西就 ...
- 7.函数的使用--《Python编程:从入门到实践》
7.1 python 中函数的定义 python 中函数使用 def 定义: def greet_user(): 7.2 传参的传递 普通实参的传毒,可以与 C++ 相同,即按顺序传递. 7. ...
- .NET 云原生架构师训练营(模块二 基础巩固 引入)--学习笔记
2.1 引入 http协议 web server && web application framework .net 与 .net core asp .net core web api ...
- 从零开始的react入门教程(八),redux起源与基础用法
壹 ❀ 引 我们在从零开始的react入门教程(七),react中的状态提升,我们为什么需要使用redux一文中介绍了react的状态提升,对于不同组件之间状态需要通信时,将状态提升至两个组件共有的最 ...
- NEMU PA 3-3 实验报告
一.实验目的 在上一章PA3-2中,我们实现了分段机制,将48位的虚拟地址vaddr转换成了laddr.为什么不是paddr呢?这就要说到这一章要完成的东西:**分页机制 **. 从80386开始,计 ...
- Linux 中竖线“|”与双竖线“||”的意思
linux中竖线'|',双竖线'||',&和&&的意思 对于初学者来说这几个意思可能只知道其中几个的意思,下面我们来看一下. 1.竖线'|' ,在linux中是作为管道符的,将 ...