今天安装了下OpenCV,期间遇到了些问题,通过上网查找解决办法,终于解决,成功安装上,现在就把安装的过程总结下。



 



OpenCV是Intel®开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。



包括:CxCore:包括一些基本的结果和算法函数,如数据结构与线性代数支持,及对各种数据类型的基本运算。



Cv:图像处理和计算机视觉功能。包括图像处理、结构分析、运动分析、物体跟踪、模式识别及摄像机标定功能。



CvAux:附加库,包含一些实验室的函数,如三维跟踪,PCA,HMM函数。



HighGUI:用户交互部分。



ml:机器学习模块,目前主要是内容分类器。



 



目前可以从sourceforce (http://sourceforge.net/projects/opencvlibrary)上下载。



我安装的是opencv1.1,这个在安装的过程中出现了很多问题。



首先一直点下一个默认安装,注意要把 add..勾上




yum 安装opencv 指定版本 opencv怎么安装_c/c++


安装好后,


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;      
    
}


 


编译成功,运行发现出现错误:


yum 安装opencv 指定版本 opencv怎么安装_OpenCV_02


解决方法:


重新编译opencv,而在重新编译opencv的过程中会出现如下错误:


foreground_regions' : is not a member of 'CvGaussBGModel'”。


原因:


yum 安装opencv 指定版本 opencv怎么安装_yum 安装opencv 指定版本_03


 


foreground_regions变量被注释掉了,呵呵,把?/改成*/即可


编译全部成功后,可以把Bin下面的所有.dll复制到system32下面,在运行试试看,如果还不行的话就要下载补丁:Microsoft Visual C++ 2005 SP1 Redistributable Package (x86),(即vcredist_x86.exe)安装上一般就可以正常运行了。