OpenCV的视频编解码器的编码格式

在 OpenCV 中,cv2.VideoWriter 类用于创建视频文件。当创建一个 cv2.VideoWriter 对象时,你可以通过多种方式指定其参数来控制视频的各种属性,如编码格式、帧率、尺寸等。下面是对 cv2.VideoWriter 的构造函数参数的详细介绍:

基本参数
filename (str): 要保存的视频文件的完整路径和文件名。

fourcc (int): 用于指定视频编码器的 4 字符编码。这个编码决定了视频的压缩格式。你可以通过 cv2.VideoWriter_fourcc 方法来获得这个编码,例如 cv2.VideoWriter_fourcc(‘M’, ‘J’, ‘P’, ‘G’)。

fps (float): 视频的帧率,即每秒钟显示的帧数。

frameSize (tuple of int): 视频帧的大小,格式为 (width, height)。

isColor (bool): 指定输出的视频是否为彩色。默认值为 True,表示输出彩色视频。如果设置为 False,则输出黑白视频。

fourcc(四字符代码)是一个用于指定视频编解码器的编码格式,用于确定视频文件的压缩方式。这个编码器标志是由四个字符组成的,用于在创建视频文件时定义编解码器的类型。在 OpenCV 中,你可以通过 cv2.VideoWriter_fourcc 函数来指定这个四字符代码。

常见的 fourcc 代码有:
DIVX: 使用 DivX 编码器。广泛支持,但主要用于 AVI 文件格式。
XVID: MPEG-4 编码标准,更开放和广泛支持。通常用于 AVI 文件,以及其他一些格式。
MJPG (Motion JPEG): 以 JPEG 格式逐帧压缩的视频,较大但编辑时较方便,支持跨平台。
X264: 高级视频编码(H.264),提供很好的压缩比,广泛用于 MP4 文件。
MP4V: MPEG-4 编码器。用于 MP4 文件,与 Apple QuickTime 兼容。
AVC1: 另一种表示 H.264 的方式。
WMV1, WMV2: Windows Media Video 版本 1 和 2,Microsoft 的视频压缩格式。
HUFF: 无损 HuffYUV 编码,用于保持视频质量但文件较大。
H264 / H265: H.264 或 H . 265 / H E V C H.265/HEVC H.265/HEVC,高效的视频压缩标准,适用于高清视频传输。
FLV1: 使用 Flash Video 格式,适合网络流媒体。
使用 cv2.VideoWriter_fourcc

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OpenCV是一个开源的计算机视觉库,提供了许多用于图像和视频处理的函数和工具。它支持各种视频编解码器,例如MPEG-4、H.264等。下面是使用OpenCV进行视频编解码的基本步骤: 1. 导入必要的库和模块: ```python import cv2 ``` 2. 读取视频文件: ```python video = cv2.VideoCapture('video.mp4') ``` 这里的'video.mp4'是你要处理的视频文件的路径。 3. 检查视频是否成功打开: ```python if not video.isOpened(): print("无法打开视频文件") exit() ``` 4. 获取视频的帧率、宽度和高度: ```python fps = video.get(cv2.CAP_PROP_FPS) width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT)) ``` 5. 创建用于保存编码后视频的对象: ```python output = cv2.VideoWriter('output.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, (width, height)) ``` 这里的'output.mp4'是保存编码后视频的路径,'mp4v'是视频编码器。 6. 读取视频的每一帧,进行处理并写入输出视频: ```python while True: ret, frame = video.read() if not ret: break # 在这里进行图像处理 output.write(frame) ``` 7. 释放资源并关闭输出视频: ```python video.release() output.release() ``` 这样,你就可以使用OpenCV视频进行编解码和处理了。你可以在读取每一帧后添加你自己的图像处理代码,例如滤波、边缘检测等。在保存输出视频时,可以选择不同的编码器和参数,以满足你的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值