今天终于有了自己的博客了!由于我的时间有限,又初来咋到,只好小试牛刀,写个简单的!
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库了。
下面介绍在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
重新运行
就可以看到你自己了!成功啦!
终于搞定了!希望对大家有所帮助!这个插图片好费劲啊!