opencv 将多帧图像合成为视频 cv2.VideoWriter()

这篇具有很好参考价值的文章主要介绍了opencv 将多帧图像合成为视频 cv2.VideoWriter()。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

应用场景

将文件夹下有时间戳或者有序的 *.jpg 图像合成为一个 mp4 格式的视频。
附加:加进度条看合成进度。

代码

import os
import cv2
from tqdm import tqdm     # python 进度条库

image_folder_dir = "/your/folder/path"
fps = 24     # fps: frame per seconde 每秒帧数,数值可根据需要进行调整
size = (640, 360)     # (width, height) 数值可根据需要进行调整
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')     # 编码为 mp4v 格式,注意此处字母为小写,大写会报错
video = cv2.VideoWriter("/path/you/want/to/save/your/video/your_video_name.mp4", fourcc, fps, size, isColor=True)

image_list = sorted([name for name in os.listdir(image_folder_dir) if name.endswith('.jpg')])     # 获取文件夹下所有格式为 jpg 图像的图像名,并按时间戳进行排序
for image_name in tqdm(image_list):     # 遍历 image_list 中所有图像并添加进度条
	image_full_path = os.path.join(image_folder_dir, image_name)     # 获取图像的全路经
	image = cv2.imread(image_full_path)     # 读取图像
	video.write(image)     # 将图像写入视频

video.release()
cv2.destroyAllWindows()

补充说明

以上示例合成视频为 mp4 格式,如需合成其它视频格式,可修改 cv2.VideoWriter_fourcc() 参数。请自行查询相关参数。文章来源地址https://www.toymoban.com/news/detail-502858.html

到了这里,关于opencv 将多帧图像合成为视频 cv2.VideoWriter()的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • cv2读取视频-并保存图像或视频

    @TOC cv2读取视频的一般流程 获取视频 cap = cv2.VideoCapture() 判断获取的视频是否成功,成功读取视频对象则返回True。 cap.isOpened() 按帧读取 ret, frame = cap.read() 展示图像 cv2.waitKey(1) 读取本地文件视频并展示

    2024年02月11日
    浏览(36)
  • opencv图像仿射变换,cv2.warpAffine

    目录 仿射变换原理介绍 cv2.warpAffine函数介绍 代码实例          仿射变换 ,又称 仿射映射 ,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。         在有限维的情况,每个仿射变换可以由一个矩阵A和一个向量b给出,它可以写

    2024年02月05日
    浏览(43)
  • opencv(4): cv2.imwrite()图像的保存

    语法格式:retval = cv2.imwrite(filename, image [, paras]) 参数说明: filename :代表文件名的字符串。文件名必须包含图像格式,例如.jpg,.png等。 image :图像数据矩阵 paras: 不同编码格式的参数,可选项 cv2.CV_IMWRITE_JPEG_QUALITY :设置 .jpeg/.jpg 格式的图片质量,取值为 0-100(默认值 95)

    2024年02月01日
    浏览(25)
  • 我在Vscode学OpenCV 图像处理四(轮廓查找 cv2.findContours() cv2.drawContours())-- 待补充

    在OpenCV中,边缘检测和轮廓查找是两个不同的图像处理任务,它们有不同的目标和应用。 1.1.1 边缘检测: 定义: 边缘检测是指寻找图像中灰度级别变化明显的地方,即图像中物体之间的界限。这些变化通常表示图像中的边缘或轮廓。 方法: 常用的边缘检测算法包括Sobel、

    2024年02月03日
    浏览(38)
  • opencv-34 图像平滑处理-双边滤波cv2.bilateralFilter()

    双边滤波(BilateralFiltering)是一种图像处理滤波技术,用于平滑图像并同时保留边缘信息。与其他传统的线性滤波方法不同,双边滤波在考虑像素之间的空间距离之外,还考虑了像素之间的灰度值相似性。这使得双边滤波能够有效地去除噪声,同时保持图像的细节和边缘。

    2024年02月14日
    浏览(25)
  • opencv-24 图像几何变换03-仿射-cv2.warpAffine()

    仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变换能够 保持图像的平直性和平行性。平直性是指图像经过仿射变换后,直线仍然是直线;平行性是指 图像在完成仿射变换后,平行线仍然是平行线。 OpenCV 中的仿射函数为 cv2.warpAffine(),其通过

    2024年02月15日
    浏览(34)
  • opencv-python[cv2]读取中文路径图像

    随着AI人工智能的不断发展,图像处理这门技术也越来越重要,很多学校本科都开启了图像处理这门课程,学习图像处理开发,自然就绕不开opencv-python[ cv2 ]这个由intel主导的开源库。 cv2 是指OpenCV的Python接口库。 OpenCV (Open Source Computer Vision Library)是一个开源的计算机视觉库

    2024年02月06日
    浏览(45)
  • Opencv之图像滤波:5.中值滤波(cv2.medianBlur)

            之前介绍的均值滤波、方框滤波、高斯滤波,都是线性滤波方式。由于线性滤波的结果是所有像素值的线性组合,因此含有噪声的像素也会被考虑进去,噪声不会被消除,而是以更柔和的方式存在。这时使用非线性滤波效果可能会更好。中值滤波与前面介绍的滤波

    2024年02月06日
    浏览(27)
  • opencv-25 图像几何变换04- 透视 cv2.warpPerspective()

    透视是一种几何学概念,用于描述在三维空间中观察物体时,由于视角的不同而产生的变形效果。在现实世界中,当我们从不同的角度或位置观察物体时,它们会呈现出不同的形状和大小。这种现象被称为透视效果。 透视效果主要由以下几个因素造成: 远近关系 :在视野范

    2024年02月15日
    浏览(34)
  • Python OpenCV 图像缩放:使用 cv2.resize() 方法

    图像缩放是计算机视觉和图像处理中常用的操作之一。OpenCV 是一个强大的计算机视觉库,提供了许多图像处理功能。在 Python 中使用 OpenCV 进行图像缩放非常简单,可以使用 cv2.resize() 方法来实现。 cv2.resize() 方法可以根据指定的尺寸调整图像的大小。它可以缩小图像,也可以

    2024年02月02日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包