1. #if 0
  2. //播放avi视频文件(IplImage)
  3. #include <opencv2/opencv.hpp>
  4. using namespace std;
  5.  
  6. #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
  7.  
  8. int main()
  9. {
  10. const char *pstrAviFileName = ".\\Res\\Microsoft_split.avi";
  11. const char *pstrWindowsTitle = "OpenCV.avi";
  12.  
  13. // 从文件中读取图像
  14. CvCapture* pCapture = cvCaptureFromFile(pstrAviFileName);
  15. if (!pCapture)
  16. {
  17. cout << "Fail to capture avi file!" << endl;
  18. return -;
  19. }
  20. IplImage *pImage = NULL;
  21.  
  22. //创建窗口
  23. cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);
  24.  
  25. while()
  26. {
  27. pImage = cvQueryFrame(pCapture);
  28. if (!pImage)
  29. {
  30. cout << "Fail to query avi frame image!" << endl;
  31. break;
  32. }
  33. //在指定窗口中显示图像
  34. cvShowImage(pstrWindowsTitle, pImage);
  35. if (cvWaitKey() >= )
  36. {
  37. break;
  38. }
  39. }
  40.  
  41. cvReleaseCapture(&pCapture);
  42. cvDestroyWindow(pstrWindowsTitle);
  43.  
  44. return ;
  45. }
  46. #endif
  47.  
  48. #if 1
  49. //播放avi视频文件(Mat)
  50. #include <opencv2/opencv.hpp>
  51. using namespace std;
  52. using namespace cv;
  53.  
  54. #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
  55.  
  56. int main()
  57. {
  58. const char *pstrAviFileName = ".\\Res\\AviDemo.avi";
  59. const char *pstrWindowsTitle = "OpenCV.avi";
  60.  
  61. VideoCapture cap(pstrAviFileName);
  62. //检查是否成功打开
  63. if(!cap.isOpened())
  64. {
  65. cerr << "Can not open a camera or file." << endl;
  66. return -;
  67. }
  68. Mat im;
  69.  
  70. //创建窗口
  71. cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);
  72. while()
  73. {
  74. cap >> im;
  75. if (im.empty())
  76. {
  77. break;
  78. }
  79. //在指定窗口中显示图像
  80. imshow(pstrWindowsTitle, im);
  81. if(waitKey() >= )
  82. {
  83. break;
  84. }
  85. }
  86. //退出时会自动释放cap中占用资源
  87.  
  88. return ;
  89. }
  90. #endif

运行结果:

OpenCV学习:播放avi视频文件的更多相关文章

  1. 1.0.1-学习Opencv与MFC混合编程之---播放AVI视频

    资源源代码:http://download.csdn.net/detail/nuptboyzhb/3961639 版本1.0.1新增内容 Ø  新建菜单项,Learning OpenCV——> ...

  2. OpenCV 入门示例之二:播放 AVI 视频

    前言 本文展示一个播放 AVI 视频的程序.( 呵呵是 AVI 视频不是 AV 视频噢! ) 代码示例 // 此头文件包含图像IO函数的声明 #include "highgui.h" ...

  3. ASP.NET MVC应用程序播放AVI视频

    前面Insus.NET实现一系列在MVC应用程序播放SWF, FLV, WMV, RM, RMVB视频.每篇使用不同的方法方式,大同小异.这篇中,为了MVC应用程序播放AVI视频,用纯M, V, C来 ...

  4. avi视频文件提取与合并

    最近在做一个avi视频文件的提取与合并,花了几天熟悉avi文件格式.制作了一个提取与合并的动态库,不过仅限于提取视频,视频的合并还没添加一些额外判断,可能导致不同分辨率的视频文件合成后不能播放.欢迎大 ...

  5. PyQt+moviepy音视频剪辑实战1:多个音视频合成顺序播放或同屏播放的视频文件实现详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...

  6. OpenCV学习 2:播放AVI视频

    原创文章,欢迎转载,转载请注明出处 第二个程序,播放视频.用opencv做起来是如此的简单..哈哈.           学Opencv,只是为了在它的基础上实现工程应用,而它里面高深的理论我等屌丝只 ...

  7. [学习OpenCV攻略][004][播放AVI视频]

    cvCreateFileCapture(文件路径) 创建一个影音文件录像机,返回值为CvCapture类型,用于读取视频文件 cvQuerFrame(视频) 将下一帧视频文件载入内存,当CvCaptu ...

  8. OpenCV —— 写入AVI视频文件

    打开视频文件,对每一帧进行极坐标变换,然后将转换生成的图像序列写入视频文件中 #include "cv.h" #include "highgui.h" int ...

  9. 如何在asp.net中如何在线播放各类视频文件

    一.后台拼字符串动态加载写法 前台调用代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...

随机推荐

  1. RAID卡 BBU Learn Cycle周期的影响

    背景 最近遇到有些带MegaSAS RAID卡的服务器,在业务高峰时突然IO负载飚升得很高,IO性能急剧下降,查了日志及各种设置最后才发现是RAID卡的Cache写策略由 WriteBack变成Wri ...

  2. Linux /proc目录详解

    Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过 ...

  3. git 分支管理 推送本地分支到远程分支等

    1.创建本地分支 local_branch git branch local_branch 2.创建本地分支local_branch 并切换到local_branch分支 git checkout - ...

  4. dp之最长递增、公共子序列总结

    1.最长递增子序列模板poj2533(时间复杂度O(n*n)) #include<iostream> #include<stdio.h> #include<string. ...

  5. RSA 算法-MSDN文档

    RSA 算法 若要生成密钥对,可以从创建名为 p 和 q 的两个大的质数开始. 这两个数相乘,结果称为 n. 因为 p 和 q 都是质数,所以 n 的全部因数为 1. p. q 和 n. 如果仅考虑小 ...

  6. Java Web开发中用Tomcat部署项目的三种方法

    第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: <Context path="/hello" docBase ...

  7. 教程-在Delphi中怎么查看是否有内存泄漏(Delphi2007)+WIN7

    相关资料:1.http://bbs.csdn.net/topics/390630932?page=1 PS:1.本实例D2007及以上版本支持.2.检测内存工具 EurekaLog fastmm 实例 ...

  8. ios最新调用手机相册选取头像(UIActionSheet过期)

    由于 UIActionSheet过期所以可以使用如下调用手机相册 前提不要忘记添加代理如下两个 UIImagePickerControllerDelegate,UINavigationControll ...

  9. hbase计数器

    1 计数器 计数器可以方便.快速地进行计数操作,而且避免了加锁等保证了原子性的操作.   1.1 Java API 操作 HBase 计数器 public Result increment(final ...

  10. 恶补java基础 位运算符

    以前不知道在哪看过别人写博客里的一句话  “越学的深入觉得自己会的东西越少”.最近研究了一下java的基础算法  hash表 被一些位运算符搞的头都大了 决心花一些时间研究一下以前一直觉得没用的东西! ...