视频处理学习笔记(二)——基于cv2处理视频后并保存

对视频处理后不可避免的要对处理后的结果进行保存,以下是具体实现的代码,其实思路很简单,就是利用cv2.VideoWriter类逐帧写入视频文件。

import cv2
# 通过cv2中的类获取视频流操作对象cap
cap = cv2.VideoCapture(
    "C:\\Users\\ranmaohua\\Desktop\\123.MP4")  # 这里的参数是视频文件的绝对路径
# 调用cv2方法获取cap的视频帧(帧:每秒多少张图片)
fps = cap.get(cv2.CAP_PROP_FPS)
print(fps)
# 获取cap视频流的每帧大小
size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),
        int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
print(size)

# 定义编码格式mpge-4
# 一种视频格式,参数搭配固定,不同的编码格式对应不同的参数
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', '2')
# 定义视频文件输入对象
outVideo = cv2.VideoWriter(
    "C:\\Users\\ranmaohua\\Desktop\\456.MP4", fourcc, fps, size)#第一个参数是保存视频文件的绝对路径
# 获取视频流打开状态
if cap.isOpened():
    rval, frame = cap.read()
    print('ture')
else:
    rval = False
    print('False')

tot = 1
c = 1
# 循环使用cv2的read()方法读取视频帧
while rval:
    rval, frame = cap.read()
    tot += 1
    print('tot=', tot)
    # 使用VideoWriter类中的write(frame)方法,将图像帧写入视频文件
    outVideo.write(frame)
# 释放窗口
cap.release()
outVideo.release()
cv2.destroyAllWindows()

注意:

cv2.VideoWriter_fourcc('M', 'P', '4', '2')

是定义一种编码格式,其他编码格式的参数可以看看这篇博客

写在最后

本文主体代码来源这篇博客,在复现的基础上进行了简单修改并进行了详细的注释。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cda备考学习学习笔记——基础知识篇()主要涉及了计算机科学与技术领域的基本概念和知识。 首先,它介绍了计算机网络的基础知识。网络是将多台计算机通过通信链路连接起来,使它们能够相互通信和共享资源的系统。笔记中详细介绍了网络的组成、拓扑结构和通信协议等重要内容。 其次,笔记还解释了计算机系统的基本组成。计算机系统由硬件和软件两部分组成,其中硬件包括中央处理器、存储器、输入输出设备等,而软件则分为系统软件和应用软件。笔记详细介绍了各种硬件和软件的功能和作用。 此外,笔记还对数据库管理系统进行了介绍。数据库管理系统是一种用于管理和组织数据的软件系统,它能够实现数据的存储、检索和更新等操作。笔记中详细介绍了数据库的概念、结构和操作等内容。 最后,笔记还包括了算法和数据结构的基础知识。算法是解决问题的一系列步骤和规则,而数据结构则是组织和存储数据的方式。笔记中介绍了常用的算法和数据结构,如排序算法、树和图等。 总之,通过学习CDA备考学习笔记中的基础知识篇(),我们能够更好地理解计算机网络、计算机系统、数据库管理系统以及算法和数据结构等相关概念和知识。这些基础知识对于我们深入研究计算机科学与技术领域是非常重要的,也为我们日后的学习和工作奠定了坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值