`

opencv和C++将连续的图片合成视频

 
阅读更多
#include<opencv2\opencv.hpp>
#include<iostream>
#include<Windows.h>
//由图片生成视频

using namespace std;
using namespace cv;

void main()
{
	//输入一张图片
	Mat src = imread("D:\\wen1\\1.jpg");
	int isColor = 1;
	//每秒钟的帧率,即一秒放多少帧图片
	int fps = 10;
	//获取图片的宽和高
	int frameWidth = src.cols;
	int frameHeight = src.rows;
	//声明VideoWriter类,写入视频
	VideoWriter writer("D:\\test.avi", VideoWriter::fourcc('M', 'J', 'P', 'G'), fps,
		Size(frameWidth, frameHeight), isColor);

	cout << "info:" << endl
		<< "ff.avi" << endl
		<< "Size:" << frameWidth << "*" << frameHeight << endl
		<< "fps:" << fps << endl;

	int i = 1;//从第一张开始
	while (1)
	{
		//找到存放图片的文件夹
  		string strDir = "D:\\wen1\\";
  		//将整型的i转换成字符串ss
  		stringstream ss;
  		ss << i;
  		//声明指针
  		string str = ss.str();
  		//查找图片(名字.jpg)		
		strDir += str;
		strDir += ".jpg";
		//输入图片
		src = imread(strDir, 1);
		if (src.empty())
		{
			MessageBox(NULL, L"加载完成!", L"温馨提示", MB_OK | MB_ICONINFORMATION);
			break;
		}
		imshow("src", src);
		waitKey(30);
		//调用writer类,传入图片
		writer.write(src);
		i++;
	}
}

        小编今天的任务就是把图片序列转换成视频, 代码如上,已经经过了详细的注释。

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    图片合成视频OpenCV

    将连续图片转换成视频文件

    Opencv把多幅图像合成视频(代码)

    在本文中,我们将深入探讨如何使用OpenCV库将多幅图像合成视频,同时涉及帧率控制和视频编码等关键概念。OpenCV是一个强大的计算机视觉库,广泛应用于图像处理和计算机视觉任务,包括图像和视频的读取、写入、转换...

    连续图像合成视频

    标题“连续图像合成视频”指的是使用编程技术将一系列连续的图像合并成一个视频的过程。这一技术广泛应用于动画制作、视频编辑、数据可视化等领域。在这个项目中,开发者使用了C++编程语言,结合了MFC(Microsoft ...

    Opencv在C++上运行视频和图片操作

    // 入门使用技巧: // 1. 使用解决方案资源管理器窗口添加/管理文件 // 2. 使用团队资源管理器窗口连接到源代码管理 // 3. 使用输出窗口查看生成输出和其他消息 ...//将图片合成视频+文字 //视频读取与保存为视频

    opencv图像绘制

    在计算机视觉领域,OpenCV(开源计算机视觉库)是一个强大的工具,它提供了丰富的函数和模块来处理和分析图像。本文将深入探讨OpenCV中的图像绘制功能,这些功能可以帮助开发者创建各种视觉效果,包括动态图像、变换...

    OPENCV位图叠加视频

    因其强大的功能和广泛的适用性,OpenCV被广泛应用于图像处理、视频分析、目标检测与识别等多个领域。 #### 二、位图叠加技术概述 位图叠加技术是图像处理中的一个基本概念,主要指的是将一张或多张图片(通常称为...

    WriteVideo_swamda9_writevideo_视频水印_视频分帧、添加水印、视频合成_图片合成视频_源码.zip

    4. **图片合成视频**:与视频合成类似,图片合成视频是将一系列静态图片转换成动态视频的过程。这在幻灯片展示、动画制作或数据可视化中非常常见。实现这一功能需要对每张图片进行时间上的排序,并应用适当的帧率,...

    C++编码,24位的BMP合成avi并加载音频wav

    本项目涉及的技术主要集中在C++编程语言上,它实现了将24位的BMP图片序列和WAV音频文件合并成一个AVI格式的视频文件。下面将详细介绍这个过程中的关键知识点。 首先,我们需要理解BMP(Bitmap)文件格式。BMP是一种...

    添加图片水印

    为了将水印图片合成到源图片上,我们需要确定水印的位置。这个位置可以是绝对的,也可以是相对于图片边缘的相对位置。这里我们假设水印位于右下角: ```python # 获取水印图片的宽和高 watermark_width, watermark_...

    图像修复 实现以c++和opencv为环境,修补图像的算法.zip

    本项目将介绍如何利用C++编程语言和OpenCV库实现图像修复算法。OpenCV(开源计算机视觉库)是一个强大的工具,它提供了丰富的图像处理和计算机视觉功能。 首先,我们要理解图像修复的基本原理。图像修复通常涉及到...

    用于将jpeg图片序列合成avi视频的jpeg2avi代码

    每个AVI文件由多个块(称为“Riff”块)组成,包括“LIST”块,其中包含视频和音频数据,以及“INDEX”块,用于快速访问特定帧。 4. **时间戳处理**:在合并图像时,需要为每个图像帧分配适当的时间戳,以确保视频...

    基于Python+OpenCV的视频字符化(深度学习+机器视觉)含全部工程源码

    1.项目通过 OpenCV 轻量、高效的 C++类以及 Python 语言的接口,将视频逐帧转换成 字符画,实现对图片按照原格式封装,完成视频字符化的应用。 2.项目运行环境:需要 Python 3.6 及以上配置。在 OpenCV 官方网站...

    CreateWMV-自动生成图片序列,并且将图片序列写入到wmv文件中

    这个工具对于动画制作、电影后期特效合成或者科学研究等领域都非常有用,因为它可以方便地将一系列静态图像转化为动态视频,便于展示和分享。 通过深入学习C++编程、图像处理、视频编码和文件I/O等相关技术,我们...

    opencv+MFC实现图像拼接

    3. **图像拼接**:图像拼接是将多张图片组合成一张大图的过程,常用于全景摄影或者多视图合成。OpenCV中提供了图像变换和几何变换的函数,如`warpPerspective`和`getOptimalNewSize`,可以用于实现图像拼接。 4. **...

    1、opencv多线程接口

    2. **图像合并**:当需要将多张图片合成一张时,可以使用多线程并行处理每张图片,然后再进行合并,提高整体处理速度。 总的来说,OpenCV的多线程接口使得开发者可以充分利用现代计算机的多核优势,提升图像处理...

    opencv实现多张图像拼接

    在计算机视觉领域,OpenCV(Open Source Computer Vision Library)是一个强大的开源库,它提供了丰富的功能来处理图像和视频。在本教程中,我们将探讨如何使用OpenCV实现多张图像的拼接,这是一个常见的任务,例如...

    AVI视频分解成BMP图片源代码

    例如,可能会用到OpenCV、DirectX或FFmpeg等库来处理视频和图像。 6. **性能优化**:分解和合成视频时,需要注意内存管理,避免一次性加载大量图片导致内存溢出。同时,通过多线程或异步处理可以提高处理速度。 7....

    Visual C++数字图像处理典型算法及实现_源码

    - 使用WarpPerspective实现全景图的创建,通过图像变换和融合算法将多张图片合成一张大图。 10. 图像压缩: - 可以使用JPEG、PNG等标准压缩格式,OpenCV提供了编码和解码功能。 以上是Visual C++进行数字图像...

    numpy\imageio\moviepy\decorator\opencv-python\pillow

    MoviePy提供了一系列高级函数,用于创建、编辑和合成视频。你可以添加文本、图像、音频等元素,调整速度、裁剪、合并视频片段,并且可以导出为各种格式。 4. **decorator**:在Python中,装饰器是一种强大的工具,...

Global site tag (gtag.js) - Google Analytics