1、OpenCV的特点:
- OpenCV是一个基于C/C++语言的开源图像处理函数库
- 其代码都经过优化,可用于实时处理图像
- 具有良好的可移植性
- 可以进行图像/视频载入、保存和采集的常规操作
- 具有低级和高级的应用程序接口(API)
- 提供了面向Intel IPP高效多媒体函数库的接口,可针对你使用的Intel CPU优化代码,提高程序性能(译注:OpenCV 2.0版的代码已显着优化,无需IPP来提升性能,故2.0版不再提供IPP接口)
2、下载安装OpenCV2.4.8
可到以下地址下载:
(1)
下载OpenCV-2.3.1-win-superpack.exe
(我金山快盘上的文件,可以用QQ登录金山快盘下载)
(2)OpenCV开源网站下载 (我就是从这个网站下载的)
下载好后直接双击安装,选择安装文件,提取OpenCV函数库到指定路径,比如 D:\ ,
选好安装路径后,点击“Extract”
安装完成后,文件路径D:\OpenCV2.3下就是开发所需的函数库。
3、配置OpenCV系统环境变量:
右键单击“计算机” --》 “属性” --》“高级系统设置”--》“环境变量”,找到“系统变量(S)”下“变量”值为“Path”的项,双击或点击“编辑”
在“变量值”编辑框中的末尾(以分号结尾,没有分号的自己手动添加分号)添加OpenCV的安装路径,
如
;D:\OpenCV2.3\build\bin\;D:\OpenCV2.3\build\x64\vc10\bin\
添加完成后,点击“确定”,接着点击“确定”关闭“环境变量”,继续点击“确定”关闭“系统属性”。
4、创建VS2010项目:
没有VS2010,可以点击下面链接下载:
(1)Visual Studio 2010 Professional Edition 官方下载
(2)迅雷7下载链接,将下面链接复制到迅雷的新建任务URL下载
thunder://QUFodHRwOi8vYmlnMS5jcjE3My5jb20vL1ZTMjAxMFByb1RyaWFsQ0hTLnJhclpa
打开VS2010,点击“文件”--》“新建”--》“项目”-》选“Visual C++”对应的“Win32控制台应用程序”,输入“名称”,如“Win32OpenCV”,写好后点击“确定”,单击“完成”。
5、配置VS2010:
(1)单击“项目” --》“Win32OpenCV属性”
(2)鼠标选中“配置属性”,再点击“配置管理器”,配置x64平台。可参考我的博客 Windows 3 位程序编译成64位
(3)鼠标选中“C/C++” 展开 --》“常规”,在右侧选择“附加包含目录”--》“编辑”,按照刚才第二步安装进行添加,添加完之后“确定”。
D:\OpenCV2.3\build\include
D:\OpenCV2.3\build\include\opencv
(4)鼠标选中“连接器”展开 --》“输入”--》“附加依赖项” --》“编辑”
添加如下lib文件:
D:\OpenCV2.3\build\x64\vc10\lib\opencv_core230d.lib
D:\OpenCV2.3\build\x64\vc10\lib\opencv_highgui230d.lib
D:\OpenCV2.3\build\x64\vc10\lib\opencv_video230d.lib
D:\OpenCV2.3\build\x64\vc10\lib\opencv_ml230d.lib
D:\OpenCV2.3\build\x64\vc10\lib\opencv_legacy230d.lib
D:\OpenCV2.3\build\x64\vc10\lib\opencv_imgproc230d.lib
添加完成后“确定”。最后点击“应用”--》“确定”。
6、编写代码调用OpenCV函数:
示例程序1:
打开Win32OpenCV.cpp文件,添加如下代码:
- #include "stdafx.h"
- #include <highgui.h>
-
- int _tmain(int argc, _TCHAR* argv[])
- {
- int c;
- IplImage *img;
- CvCapture* capture = cvCaptureFromCAM(1);
- cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
- cvMoveWindow("mainWin", 5, 5);
- while(1)
- {
- img=cvQueryFrame(capture);
- cvShowImage("mainWin", img );
- c=cvWaitKey(10);
- if(c == 27)
- break;
- }
- return 0;
- }
点击“调试” --》“开始执行不调试”,如果你的电脑摄像头是好的,那么就可以显示摄像头拍到的视频了。
示例程序2:
先复制一张图片到当前工作目录下,再编写如下代码:
- #include "stdafx.h"
- #include "cv.h" // OpenCV 的基本函数头文件
- #include"highgui.h" //OpenCV 的图像显示函数头文件
- int _tmain(int argc, _TCHAR* argv[])
- {
-
- IplImage *src;
- src = cvLoadImage("me.bmp",-1);
- cvNamedWindow("me",0);
- cvShowImage("me",src);
- cvWaitKey(0);
- cvDestroyWindow("me");
- cvReleaseImage(&src);
-
- return 0;
- }
编译运行,会显示一张图片。
有关OpenCV函数库的学习可以参考“OpenCV中文网站” OpenCV中文网 ,进行详细学习。
在VS2010创建MFC窗口程序,添加一个按钮,双击按钮编写代码:
IplImage *src; // 定义IplImage指针变量src
src = cvLoadImage("D:\\me.bmp",-1); // 将src指向当前工程文件目录下的图像me.bmp
cvNamedWindow("me",0);//定义一个窗口名为lena的显示窗口
cvShowImage("me",src);//在lena窗口中,显示src指针所指向的图像
cvWaitKey(0);//无限等待,即图像总显示
cvDestroyWindow("me");//销毁窗口lena
cvReleaseImage(&src);//释放IplImage指针src
运行程序,单击按钮,就能出现读到的一张图片,说明配置很成功。
配置过程中出现的问题和解决办法:
1.注意链接-输入
2.注意常规---附件包含目录
3.配置要是debug x64 平台