刚刚学习Opencv,发现配置的时候蛮复杂的,特此记下以备后续。
我的opencv安装在D:OpenCVopencv
1.设置环境变量
首先说一下环境配置,看到很多网上说的是根据系统的位数来判断,但是自己实验后发现是根据vs2008当时建立的工程时用的编译器决定的,如win32对应x86.但确定好编译器的种类后在确定哪个版本vs2008对应vc9,vs2010对应vc10,都确定好了之后就可以配置环境变量了.如下图:
![](http://images0.cnblogs.com/blog/533355/201308/04152912-bdc90354a8474ed69aa1309fb16b7ecb.jpg)
2.配置VS2010
之后就是在vs2008上面配置的问题了,首先创建一个空的文件夹,在此不赘述;之后我直接选择在工程文件的属性界面中(工程名称右键->属性)里面把配置属性(configuration property)中的C/C++的additional include directories改成文件所在的include,我常用的头文件highgui.h目录在D:OpenCVopencvuildincludeopencvhighgui.h,此时我设置的include为D:OpenCVopencvuildinclude,到时候直接在代码区添加#include<opencvhighgui.h>注意要加上opencv的路径。
此后在工程文件的属性界面中(工程名称右键->属性)里面把linker里面的additional library directories改成lib所在目录我的是D:OpenCVopencvuildx86vc9lib
最后在linker的input里面把additional dependencies里面的库文件都改成D:OpenCVopencvuildx86vc9lib中的文件,注意D:OpenCVopencvuildx86vc9lib里面的文件不是全部添加只挑格式为opencv_(The Name of the module)(The version Number of the library you use)d.lib的添加
我的添加目录为
opencv_calib3d246d.lib
opencv_contrib246d.lib
opencv_core246d.lib
opencv_features2d246d.lib
opencv_flann246d.lib
opencv_gpu246d.lib
opencv_highgui246d.lib
opencv_imgproc246d.lib
opencv_legacy246d.lib
opencv_ml246d.lib
opencv_nonfree246d.lib
opencv_objdetect246d.lib
opencv_ocl246d.lib
opencv_photo246d.lib
opencv_stitching246d.lib
opencv_superres246d.lib
opencv_ts246d.lib
opencv_video246d.lib
opencv_videostab246d.lib
想必大家都发现了每个文件的后面都有一个d字母,因为有两个版本release和debug,带D的是用于debug版本的,在D:OpenCVopencvuildx86vc9lib中debug和release版本都有所以在选择时要根据自己的当前版本选择。
一个简单的程序测试自己配置成功否
#include<opencvhighgui.h>
int main(int argc,char** argv){
IplImage *img = cvLoadImage(argv[1]);
cvNamedWindow("example1",CV_WINDOW_AUTOSIZE);
cvShowImage("example1",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("example1");
}
这个程序是显示一个图片,别忘记将图片放置在工程文件的目录下我的是工程名字是simple teest,我放置的目录是C:UserswgqDocumentsVisual Studio 2008Projectssimple teestsimple teest。放置好后在vs2008中Properties->Debugging->Command Arguments输入自己的图片名称就行。
D:OpenCVopencvuildinclude