opencv播放视频

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv播放视频相关的知识,希望对你有一定的参考价值。

新建Qt的控制台应用

.pro目录设置如下            //qt配置opencv的过程见http://blog.csdn.net/bladeandmaster88/article/details/51591579

 

#-------------------------------------------------
#
# Project created by QtCreator 2016-06-08T22:26:44
#
#-------------------------------------------------

QT       += core

QT       -= gui

TARGET = PlayVideo
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

INCLUDEPATH += d:\opencv\include\
INCLUDEPATH += d:\opencv\include\opencv\
INCLUDEPATH += d:\opencv\include\opencv2\

LIBS+= d:\OpenCV\lib\libopencv_core249.dll.a\
d:\OpenCV\lib\libopencv_highgui249.dll.a\

 

 

 

//main.cpp



//--------------------------------------【程序说明】-------------------------------------------
// 程序说明:《OpenCV3编程入门》OpenCV2版书本配套示例程序06
// 程序描述:使用VideoCapture类进行视频读取和播放
// 开发测试所用操作系统: Windows 7 64bit
// 开发测试所用IDE版本:Visual Studio 2010
// 开发测试所用OpenCV版本: 2.4.9
// 2014年03月 Created by @浅墨_毛星云
// 2014年11月 Revised by @浅墨_毛星云
//------------------------------------------------------------------------------------------------




//---------------------------------【头文件、命名空间包含部分】----------------------------
// 描述:包含程序所使用的头文件和命名空间
//-------------------------------------------------------------------------------------------------
#include <opencv2\opencv.hpp>
using namespace cv;


#include <QDebug>


int main( )
{
    //【1】读入视频
    VideoCapture capture("1.avi");


    if(!capture.isOpened())
        qDebug()<<"faile to open!";


    //【2】循环显示每一帧
    while(1)
    {
        Mat frame;//定义一个Mat变量,用于存储每一帧的图像
        capture>>frame;  //读取当前帧
        if(!frame.empty())
        imshow("reading video",frame);  //显示当前帧
        waitKey(30);  //延时30ms
    }
    return 0;
}

 

注意的几个问题

1.我的代码是《OpenCV3编程入门》里面的

2.在debug目录下需要放置1.avi文件,如图所示

技术分享

3.刚开始capture老提示打开失败,网上说下载virtualdub和xvid解编码器,但是都不管用,其实只需要下载ffdshow解码器,亲测可用。

ffdshow解码器下载地址为http://sourceforge.net/projects/ffdshow-tryout,安装时,一定要选上“VFW接口”和“VirtualDub”,安装完就行了。

 

4.imshow("reading video",frame);//书里面的代码第一个参数是中文,我改成了英文,否则,窗口很小,而且显示不出图像。

http://blog.csdn.net/bladeandmaster88/article/details/51628659

以上是关于opencv播放视频的主要内容,如果未能解决你的问题,请参考以下文章

在 OpenCV 中播放视频

opencv库视频播放[关闭]

OpenCv - 输出视频未播放

opencv视频播放不了的问题是如何解决的?播放时一闪而过。

基于OpenCV和C++的控制台播放视频

OpenCV系列1-简单高效:MFC显示图片播放视频