今天安装了下OpenCV,期间遇到了些问题,通过上网查找解决办法,终于解决,成功安装上,现在就把安装的过程总结下。
OpenCV是Intel®开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。
包括:CxCore:包括一些基本的结果和算法函数,如数据结构与线性代数支持,及对各种数据类型的基本运算。
Cv:图像处理和计算机视觉功能。包括图像处理、结构分析、运动分析、物体跟踪、模式识别及摄像机标定功能。
CvAux:附加库,包含一些实验室的函数,如三维跟踪,PCA,HMM函数。
HighGUI:用户交互部分。
ml:机器学习模块,目前主要是内容分类器。
目前可以从sourceforce (http://sourceforge.net/projects/opencvlibrary)上下载。
我安装的是opencv1.1,这个在安装的过程中出现了很多问题。
首先一直点下一个默认安装,注意要把 add..勾上
安装好后,
1. 在环境变量的系统变量path路径中把C:\Program Files\OpenCV\bin路径加进去。
2.在VS2005中的工具--选项--项目和解决方案--VC++目录中:
2.1包含文件(include)中加入:
C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\ml\include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\cvcam\include
2.2库文件(lib)中加入:C:\Program Files\OpenCV\lib
3.每建立一个新工程时,要在 项目--XXX属性---配置属性--链接器--输入 的附加依赖 中加入工程项目所需的.lib ,比如cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib等。
当原先选择的是debug版时加入.lib后,如果换成release时也要重新加入.lib。
以上搞定,我们来个例子(测试例子来自网络)
#include <iostream>
#include <cxcore.h>
#include <highgui.h>
using namespace std;
int main()
{
IplImage *pImage = cvLoadImage("test.jpg",1);
if (!pImage)
{
cout<<"can't open the p_w_picpath"<<endl;
}
cvNamedWindow("openCV win",1);
cvShowImage("opencv win",pImage);
cvWaitKey();
cvDestroyWindow("opencv win");
cvReleaseImage(&pImage);
return 0;
}
编译成功,运行发现出现错误:
解决方法:
重新编译opencv,而在重新编译opencv的过程中会出现如下错误:
foreground_regions' : is not a member of 'CvGaussBGModel'”。
原因:
foreground_regions变量被注释掉了,呵呵,把?/改成*/即可
编译全部成功后,可以把Bin下面的所有.dll复制到system32下面,在运行试试看,如果还不行的话就要下载补丁:Microsoft Visual C++ 2005 SP1 Redistributable Package (x86),(即vcredist_x86.exe)安装上一般就可以正常运行了。