QT+OPENCV视频采集

Posted

tags:

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

今天终于有了自己的博客了!由于我的时间有限,又初来咋到,只好小试牛刀,写个简单的!             

 

Qt学习网站:http://www.yafeilinux.com/

OpenCV中文论坛:http://www.opencv.org.cn/index.PHP/Template:Code

 

首先介绍下opencv

:OpenCV的全称是:Open Source Computer Vision Library。   

  OpenCV于1999年由Intel建立,现在由Willow Garage提供支持。OpenCV是一个基于BSD许可证授权(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效 ,由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。目前最新版本是2.2。

 

在vc6.0环境下,一般用opencv1.0!在vs2005或vs2008或qt环境下可以用2.0以上的版本!opencv是开源的库,可以从网上直接下载sdk;但要使用需要用Cmake工具生成工程文件!这个是生成好的!

(如果需要,可以留下邮箱) 

Opencv书籍: 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

然后介绍在qt中使用opencv

找到你opencv的安装目录,在Qt工程文件.pro文件中添加入头文件路径和库文件路径即可;

我装在c盘了;

 

如下:

 

INCLUDEPATH += C:/OpenCV2.1/include/opencv

LIBS += C:/OpenCV2.1/lib/highgui210.lib /

    C:/OpenCV2.1/lib/cxcore210.lib /

    C:/OpenCV2.1/lib/cv210.lib

这样就可以在Qt中使用opencv库了。

  • cv – 核心函数库
  • cvaux – 辅助函数库
  • cxcore – 数据结构与线性代数库
  • highgui – GUI函数库

 

 

 

 

 

 

下面介绍在qt中如何利用opencv开启本机摄像头进行视频采集!

安装qt:

这是4.7的,最新版本;

 

首先打开creator建立一个qt的空工程,

 

 

点击完成,

 

 

 

右击工程名,选择Add New…,选c++源文件

 

 

 

 

然后编写代码:

#include <highgui.h>//包含opencv库头文件
#include <cv.h>
 
int main( int argc, char** argv ) {//主函数
  
  cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );//创建窗口,(名字,默认大小)
  CvCapture *capture   = NULL;// 视频获取结构, 用来作为视频获取函数的一个参数
 
   capture = cvCreateCameraCapture(0);//打开摄像头,从摄像头中获取视频
   IplImage* frame;//申请IplImage类型指针,就是申请内存空间来存放每一帧图像
    while(1) {
        frame = cvQueryFrame( capture );// 从摄像头中抓取并返回每一帧 
        if( !frame ) break;
        cvShowImage( "Example2", frame );//在窗口上显示每一帧
        char c = cvWaitKey(33);//延时,每秒钟约33帧;符合人眼观看速度;
        if( c == 27 ) break;//由于是死循环,而且没有控制台,当按下键盘exc键,退出循环;
            }
    cvReleaseCapture( &capture );//释放内存;
    cvDestroyWindow( "Example2" );//销毁窗口
}

此时进行编译,一定会出现错误的,因为opencv的库没加;

在Qt工程文件.pro文件中添加入如下:

 

INCLUDEPATH += C:/OpenCV2.1/include/opencv

LIBS += C:/OpenCV2.1/lib/highgui210.lib /

    C:/OpenCV2.1/lib/cxcore210.lib /

C:/OpenCV2.1/lib/cv210.lib

重新运行

 

就可以看到你自己了!成功啦!

 

 

终于搞定了!希望对大家有所帮助!这个插图片好费劲啊!

 

http://blog.csdn.net/a324539017/article/details/6329072

以上是关于QT+OPENCV视频采集的主要内容,如果未能解决你的问题,请参考以下文章

qt Android中使用opencv处理视频

android 采集摄像头预览帧,使用opencv和MediaCodec直接录制水印滤镜视频

android 采集摄像头预览帧,使用opencv和MediaCodec直接录制水印滤镜视频

使用 opencv 和 Qt 录制视频

TX1使用OpenCV3.1实时采集视频图像

Qt OpenCV从捕获帧写入视频,不保存