1 /*g++ *.cpp `pkg-config --cflags --libs opencv` -std=c++11*/
 2
 3 #include <opencv2/opencv.hpp>
 4 using namespace std;
 5 using namespace cv;
 6 #define NUM_FRAME 300
 7 #define SIZE 7
 8
 9 char path[100];//输入文件路径
10
11 //将图片序列转换为视频
12 void getVideo()
13 {
14     int i = 0;
15     IplImage* img = 0;//读入图像
16     IplImage* outimg = 0;//修改图像尺寸
17     char image_name[100];//图像名字
18     char videoname[100];
19     strcpy(videoname, path);
20     strcat(videoname, "//1.avi");
21
22     //初始化视频编写器,参数根据实际视频文件修改
23     CvVideoWriter *writer = 0;
24     //从文件读入视频
25     CvCapture* capture = cvCaptureFromAVI(videoname);
26     //读取和显示
27     int isColor = 1;
28     IplImage* frameimg;//从视频中提取的帧图像
29     int fps = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);//视频的fps
30     int frameH = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT);//视频的高度
31     int frameW = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH);//视频的宽度
32     writer = cvCreateVideoWriter("..//output//2.avi",-1, fps, cvSize(frameW, frameH), isColor);//创建视频写入
33     printf("\tvideo height : %d\n\tvideo width : %d\n\tfps : %d\n", frameH, frameW, fps);
34     //创建窗口
35     cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
36     //读入图片,并制作幻灯片
37     while (i<SIZE)
38     {
39         CvSize Out_Img_size;//图片的大小
40         Out_Img_size.width = frameW;//使读入图片的大小与视频尺寸相同
41         Out_Img_size.height = frameH;
42         sprintf(image_name, "%d%s", ++i, ".jpg");//得到图片名字
43         char imgname[100];
44         strcpy(imgname, path);
45         strcat(imgname, "//");
46         strcat(imgname,image_name);//加上路径
47         img = cvLoadImage(imgname);//打开图片
48         outimg = cvCreateImage(Out_Img_size, img->depth, img->nChannels);//创建一张与视频帧大小相同的图像
49         cvResize(img, outimg, CV_INTER_LINEAR);//让打开的图像重写为指定大小
50         if (!img)
51         {
52             printf("Could not load image file...\n");
53             exit(0);
54         }
55         //设置字体
56         CvFont font;
57         cvInitFont(&font, CV_FONT_VECTOR0, 0.5f, 0.5f, 0, 1, 8);
58         //在图像中显示文本字符串
59         cvPutText(outimg, "StudentID", cvPoint(frameW - 100, frameH - 60), &font, CV_RGB(255, 255, 255));
60         cvPutText(outimg, "name", cvPoint(frameW - 100, frameH - 30), &font, CV_RGB(255, 255, 255));
61         char key = cvWaitKey(20);//等待
62         //将图像写入视频,重复25次是为了使之放映速度变慢
63         for (int j = 0; j < 25; j++) {
64             cvShowImage("mainWin", outimg);
65             cvWriteFrame(writer, outimg);
66         }
67     }
68     i = 0;
69     while (1)
70     {
71         frameimg = cvQueryFrame(capture); //获取一帧图片
72         if (!frameimg)break;//读到尽头,退出
73         //设置字体
74         CvFont font;
75         cvInitFont(&font, CV_FONT_VECTOR0, 0.5f,0.5f , 0, 1, 8);
76         //在图像中显示文本字符串
77         cvPutText(frameimg, "StudentID", cvPoint(frameW - 100, frameH - 60), &font, CV_RGB(255, 255, 255));
78         cvPutText(frameimg, "name", cvPoint(frameW - 100, frameH - 30), &font, CV_RGB(255, 255, 255));
79         cvShowImage("mainWin", frameimg);
80         char key = cvWaitKey(20);
81         //将视频帧写入视频
82         cvWriteFrame(writer, frameimg);
83     }
84     cvReleaseVideoWriter(&writer);
85     cvDestroyWindow("mainWin");
86 }
87
88 int main(int argc, char** argv)
89 {
90     strcpy(path, argv[1]);
91     getVideo();
92     waitKey();
93     system("pause");
94     return 0;
95 }

View Code

转载于:https://www.cnblogs.com/dirge/p/8413279.html

opencv图片转幻灯片视频相关推荐

  1. opencv 图片读取和视频读取(一)

    环境搭建 一 图片读取 1代码 import cv2 as cv #读取图片 src=cv.imread('./yiner.jpg') #cv.WINDOW_AUTOSIZE 表示自动窗口 cv.na ...

  2. opencv图片合成视频提高视频清晰度参数

    之前有做过图片合成视频的功能,大概代码就是这样,你可以看一下 /** 图片合成视频 @param mp4SavePath 视频保存路径 @param imageDir 图片地址 @param rate ...

  3. OpenCV | 图片与视频的相互转换(C++Python)

    七月 上海| 高性能计算之GPU CUDA培训 7月27-29日三天密集式学习  快速带你入门阅读全文> 正文共1338个字,预计阅读时间6分钟. 前言 在学习opencv的过程中,终会遇到需要 ...

  4. opencv︱图片与视频的读入、显示、写出、放缩与基本绘图函数介绍

    本文来自于段力辉 译<OpenCV-Python 中文教程> 文章目录 一.图片 + 读入.显示.写出 1.cv2.imread() 2.cv2.imshow() 3.cv2.imwrit ...

  5. python opencv 图片/视频 拼接

    python opencv 图片/视频 拼接 # coding: utf-8 # 像写诗一样写代码 import numpy as np import cv2img_A_path = "C: ...

  6. python opencv PIL 视频分割成图片 图片合成为视频 修改图片大小(抗锯齿)

    Python代码将原有的视频分割成图片,我的例子是一帧一帧的分割 用python+opencv完成视频的分割 import cv2 #导入opencv模块 print(2) #测试是否运行 vc=cv ...

  7. OpenCV小案例——批量图片合成为视频

    # 将某个文件夹下面的图片转化为一个视频 def png_to_video(dir_path):fps = 8size = (378, 512)video = cv2.VideoWriter(&quo ...

  8. python通过opencv使用图片制作简单视频(亲测)

    最近在学习视频制作,但是做起来太浪费时间了,我就一直在想能否使用python等脚本实现制作视频,因为我看视频网站上很多营销号视频就是通过图片制作视频的,播放量还不错,我准备试一试. 一.目标 1.自动 ...

  9. v-viewer图片打不开一直在刷新_python实现将一组图片转化成视频

    import os import cv2 import timeimg_root = "../img/" path="../img/" filelist=os. ...

最新文章

  1. centos安装easy_instal
  2. selenium 操作 html 5,[Selenium] WebDriver 操作 HTML5 中的 video
  3. Python之——遇到的小知识点总结
  4. unused import statement
  5. 51C语言编译后执行到一半,“C语言” 读书札记之[再续编译执行]
  6. 和我一起入坑-React-Native-加入Redux的TodoList
  7. XML文档中的xmlns、xmlns:xsi和xsi:schemaLocation
  8. 关于OpenFOAM的一些学习资料
  9. (面试题)用折半查找法在一组整形数组中查找某个数据
  10. IE6/IE7/IE8/Firefox/Chrome/Safari的CSS hack兼容一览表
  11. 软件工程专业的论文答辩_软件工程毕业论文答辩PPT模板
  12. 【机器人学习】平台并联机构matlab逆解
  13. TARA-汽车安全概念
  14. 微信小程序和app测试重点总结
  15. vs2010无法找到程序,安装Microsoft Visual Studio 2010 Service Pack 1 ,系统无法找到指定的对象
  16. 水晶报表打印s删除数据
  17. KAL 推出 Kalignite Hypervisor 解决方案—引领 ATM 硬件更新创新模式
  18. qt 图片适应窗口_Qt图片自适应窗口控件大小
  19. 人工智能领域的计算机科学,主要包含哪些重要职位?
  20. ArcGIS基础:全站仪或RTK采集的DAT文件生成点图形

热门文章

  1. Windows PATH变量不起作用
  2. 微信服务号通过Excel操作数据库发送消息的开发流程
  3. 自助建站是如何让一个没有经验的人完成网站建设的呢?
  4. windows server 2016 活动目录部署系列(二)创建域控制器(AD DS)
  5. php 上传文件 io错误,怎么解决discuz上传头像出现洗“IO错误”方法大全
  6. 前端模拟面试字数过23477万内容|刷题打卡
  7. eyoucms 下载最新版框架后,解压缩到web目录下面,可以看到初始的目录结构如下:
  8. Gvim使用心得--设置篇
  9. php如何做拆弹,“不定时炸弹”拆弹有了新方法
  10. 数组的三种初始化方式