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日
    浏览(46)
  • opencv图像仿射变换,cv2.warpAffine

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

    2024年02月05日
    浏览(62)
  • 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日
    浏览(41)
  • 我在Vscode学OpenCV 图像处理四(轮廓查找 cv2.findContours() cv2.drawContours())-- 待补充

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

    2024年02月03日
    浏览(57)
  • Opencv之图像滤波:6.双边滤波(cv2.bilateralFilter)

            前面我们介绍的滤波方法都会对图像造成模糊,使得边缘信息变弱或者消失,因此需要一种能够对图像边缘信息进行保留的滤波算法,双边滤波是综合考虑空间信息和色彩信息的滤波方式,在滤波过程中能够有效地保护 图像内的边缘信息。         之前介绍的

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

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

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

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

    2024年02月15日
    浏览(43)
  • opencv 31-图像平滑处理-方框滤波cv2.boxFilter()

    方框滤波(Box Filtering)是一种简单的图像平滑处理方法,它主要用于去除图像中的噪声和减少细节,同时保持图像的整体亮度分布。 方框滤波的原理很简单:对于图像中的每个像素,将其周围的一个固定大小的邻域内的像素值取平均,然后将这个平均值赋值给当前像素。这

    2024年02月14日
    浏览(43)
  • opencv-19 图像色彩空间转换函数cv2.cvtColor()

    cv2.cvtColor() 函数是 OpenCV 中用于图像颜色空间转换的函数。它允许你将图像从一个色彩空间转换为另一个色彩空间。在 Python 中,你可以使用这个函数来实现不同色彩空间之间的转换。 函数的基本语法为: 参数说明: src:输入图像,可以是 NumPy 数组或 OpenCV 中的 Mat 对象。

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

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

    2024年02月02日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包