引言

有个项目,需要将osg生成的批量图像转成视频;特点是,图像自带编号,类似于:
Ir_Scene_339.jpg 的格式。
操作中,使用OpenCV自带的video函数完成。

void ImageToVideo( )
{  VideoWriter video("test35.avi", CV_FOURCC('X', 'V', 'I', 'D'), 35.0, Size(1920, 1017));//设置视频尺寸和帧率{ //输入图像的路径,此处可以优化:判断路径是文件夹还是文件,文件夹直接找内部的图像,文件,在去掉后缀和编号String img_path0 = "H:\\项目\\图像处理模板\\c++\\CmakeBuildOpenCVPrj\\2021_3_17_18_44_38\\2021_3_17_10_12_6\\*.jpg";vector<String> img; glob(img_path0, img, false); //获得不带后缀且不包含图像编号的去路径,类似于:H:\项目\图像处理模板string NameOfPathNoPostfix = img[0].substr(0, img[0].rfind("_")+1);\c++\CmakeBuildOpenCVPrj\2021_3_17_18_44_38\2021_3_17_10_12_6\Ir_Scene_for (size_t i = 0; i < img.size(); i++){String img_path = NameOfPathNoPostfix + to_string(i) + ".jpg";Mat image = imread(img_path);resize(image, image, Size(1920, 1017));//修改图像尺寸,此处是标准大小video << image;}cout << "处理完毕!" << endl; }}

效果

输入图像文件夹

输出视频文件

升级版

使用下面代码,可以生成一个独立的文件

#include<stdio.h>
#include <cstdio>
#include <string>
#include <iostream>
#include <stdint.h>
#include <math.h>
#include<stdio.h>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/core/core.hpp>
#include <cstdio>
#include <string>
#include <iostream>
#include <stdint.h>#include "opencv2/core.hpp"
#include <opencv2/opencv.hpp>
#include <math.h>
#include <io.h>
using namespace std;
using namespace cv;
#ifdef _DEBUG
#pragma comment(lib,"opencv_world340d.lib")
#else
#pragma comment(lib,"opencv_world340.lib")
#endif
using namespace std;
using namespace cv;
int main(int argc, char * argv[])
{cout << "输入文件夹路径:" << endl;string path = argv[0];cin >> path;//通过命令行获取文件夹路径cout << "请输入视频文件名称:" << endl;string vedeoName;cin >> vedeoName;cout << "请输入视频帧率:" << endl;int fps;cin >> fps;cout << "请输入视频宽:" << endl;int kuan;cin >> kuan;cout << "请输入视频高:" << endl;int gao;cin >> gao;String img_path0 = path+"\\*.jpg";vector<String> img;glob(img_path0, img, false);string NameOfPathNoPostfix = img[0].substr(0, img[0].rfind("_") + 1);//获得不带后缀且不包含图像编号的去路径VideoWriter video(vedeoName+".avi", CV_FOURCC('X', 'V', 'I', 'D'), fps*1.0, Size(kuan, gao));cout << "视频生成中,请稍等..." << endl;for (size_t i = 0; i < img.size(); i++){String img_path = NameOfPathNoPostfix + to_string(i) + ".jpg";Mat image = imread(img_path);resize(image, image, Size(kuan, gao));video << image;}cout << "处理完毕!生成视频"+ vedeoName + ".avi"  << endl;waitKey(0);
}

在debug目录下回输出一个exe文件:

exe文件

双击可运行。
通过在控制台输入:图像文件夹路径、视频输出的名称、帧率、视频的宽、视频的高。会输出视频。

运行界面


http://www.taodudu.cc/news/show-1639485.html

相关文章:

  • OpenCV图像处理(18)——文件夹下所有图像转灰度(14-15综合)
  • OpenCV图像处理(17)—— 各种二值化对比
  • 真正的研发之路(1)
  • (2)Mac安装Parallels无法上网
  • C++ Licence认证用于项目开发和设备认证
  • (1)鼠标单独移动两个actor
  • (6)通过输入参数(测量数据)构建三维体模型
  • (4)建立一个标准尺寸的平面,并对其进行着色贴图、拉伸一定的厚度
  • (5)通过输入参数(测量数据)构建二维体模型(01)
  • (3)通过输入参数(测量数据)构建三维体模型(02)
  • (8)VTK 鼠标左右键控制模型旋转
  • (2)通过输入参数(测量数据)构建三维体模型(01)
  • (01)VTK读取OBJ格式模型
  • (02)vtk 绘制模型的外轮廓线 模型轮廓线
  • (03)两个模型的交集、并集、差集
  • (04)VTK移动模型,判断是否相交
  • (05)vtk通过多边形构建矩形,并拉伸成立方体,两个立方体独立操作
  • (06)vtk修改默认鼠标操作,实现鼠标按键控制模型旋转
  • who i am !
  • (01)OpenGL es中只在指定区域渲染view
  • (01)C++之设计模式演变
  • C++设计模式(全网最通俗易懂的设计模式进阶)
  • c++工程模式+配置文件+动态调用类
  • 读书感悟之,从术到道
  • 因果否?
  • (01)数据库及相关
  • avg最多用多少列 mysql_40斤一桶水,最多用多少克磷酸二氢钾?打几次增产效果最好...
  • 用单片机测量流体流速的_旋进旋涡流量计的测量原理及优点
  • 文字加减前后缀lisp_日本搞笑艺人催泪讲授汉字课堂告诉你文字背后的意义!...
  • 幼儿园调查过程怎么写_幼儿园对孩子的重要性你真的清楚吗?

OpenCV图像处理(14)—— 图像转视频相关推荐

  1. OpenCv图像处理之图像视频摄像头读取和保存

    OpenCv图像处理之图像视频摄像头读取与保存 使用cv::imread()读取图片 使用cv::imwrite()存储图片 使用cv::VideoCapture::open()读取视频 使用cv:: ...

  2. OpenCV图像处理(十一)---图像梯度

    安培定则:也叫右手螺旋定则,是表示电流和电流激发磁场的磁感线方向间关系的定则.通电直导线中的安培定则(安培定则一):用右手握住通电直导线,让大拇指指向电流的方向,那么四指指向就是磁感线的环绕方向:通电 ...

  3. OpenCv图像处理之图像归一化

    OpenCv图像处理之图像归一化 归一化 中心化 标准化 归一化 图像处理中,图像单通道像素值为0~255之间的uchar类型,通常使用min-max归一化将其转化为0~1区间之间,既不会改变数据的分 ...

  4. 《OpenCv视觉之眼》Python图像处理二十一:Opencv图像处理之图像线性变换和非线性变换的方法及原理

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  5. opencv mat release thrown_【OpenCV+Python】图像与视频处理入门

    图像处理入门 之前我们已经讲过了OpenCV在各个平台上安装的方法了,从今天开始,正式进入实战部分.首先我们需要做的就是如何读取图像并显示出来,这是图像处理的最基本的部分. 首先我们来了解几个函数. ...

  6. Python OpenCV 图像处理之 图像运算和图像位运算知识补充

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 51 篇. 该系列文章导航参考:https://blog.csdn.net/hihell/categ ...

  7. OpenCV图像处理--将图像裁剪为圆形

    1,需求 为了便于项目前端展示用户头像,需要将头像处理为圆形,非圆形区域设置为透明.其实,前端可以在显示的时候处理,但是前端采用WebGL,暂时搞不定,所以由后端进行图像的一次性加工. 于是,我们尝试 ...

  8. Opencv图像处理(图像的线性灰度变换)

    图像增强简介 分段线性法变换原理 代码实现和效果预览 疫情期间,楼主作为大三学生每天除了要应付网课和作业之外还得抽出时间准备研究生考试.虽说少了很多时间学习自己喜欢的知识,但近期由于课程作业关系需要在 ...

  9. OpenCV图像处理——判断图像是否失焦模糊

    前言 在图像处理中,避免不了会碰到一些失焦模糊的图像,特别在读取和初始化摄像头的时候,对失焦模糊判断是避免不了的一步,那么如何使用opencv去判断一张图像是否模糊呢? 判断是否失焦 失焦的图片和对焦 ...

  10. OpenCV:分离图像和视频的RGB通道

    对图像 #include <iostream> #include <opencv2/opencv.hpp> using namespace std; using namespa ...

最新文章

  1. 让Flash背景透明兼容Firefox、IE 6和IE 7的代码
  2. VTK:Utilities之2DArray
  3. 什么是认证、授权、会话
  4. 深圳php和java,深圳java技术培训学习(Java和PHP区别)
  5. AcWing 523. 组合数问题
  6. 脚本两则--用于快速部署HADOOP,SPARK这些(特别是VM虚拟机模板部署出来的)。。...
  7. java构建xml参数_Java中使用XML创建EMAIL模板
  8. ObjectArx创建自定义实体
  9. 戴尔微型计算机怎么换系统,给戴尔外星人笔记本电脑的win7系统更换为win10系统图文教程...
  10. java http 流_java 模拟http请求,通过流(stream)的方式,发送json数据和文件
  11. tp中自定义跳转页面
  12. leetcode-Easy-第1期:two sum
  13. 使用大量数据提高算法性能的前提条件
  14. android可拖动的控件,Android拖动控件的实现,自定义可拖动的LinearLayout
  15. Windows开机自动运行.py文件
  16. [C++]求模与求余运算
  17. 51单片机蓝牙遥控风扇期末设计报告
  18. python源码文件的后缀名_Python 源代码程序编译后的文件扩展名为_________。_学小易找答案...
  19. flash 外国小游戏教程网站
  20. 树莓派制作家用服务器,树莓派搭建家用小型NAS服务器

热门文章

  1. C++ STL 一个简单的stack程序
  2. python批量将文件夹下所有图片中一种颜色改变为随机颜色
  3. multsim仿真1:利用multisim化简逻辑函数
  4. 贺利坚老师汇编课程35笔记:[BX+SI]和[BX+DI]寻址
  5. Kettle资源库-元数据
  6. Kettle行列转换
  7. bzoj2783: [JLOI2012]树
  8. perl学习之:肯定匹配和否定匹配
  9. JAVA 1.5 并发之 Executor框架 (内容为转载)
  10. [原创] 图片操作的类(ImageLibrary)-按比例缩放图片