配置之前,注意事项:
环境变量是系统变量
2.4.4 比2.4.3好配置多了
无论在哪个位置配置,都不要把系统配置好的删除掉,所有的配置都是在原有的基础上添加,
而不是替换。
即使64位的系统,最好还是用x86.因为上次配置x64没有成功。
0. 下载OpenCV2.4.4 http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.4/OpenCV-2.4.4.exe/download
1. 运行OpenCV-2.4.4.exe,把它解压到一个你喜欢的地方 ——
1.1 路径最好不要太深,点啊点的最讨厌了
2. 添加 ***\OpenCV2.4.4\build\x86\vc11\bin; 到环境变量的PATH后面 ——
2.1 ***是你放OpenCV2.4.4的地方
2.3 很欣慰的是,OpencCV2.4.4的build里面终于有vc11的编译结果了,vc11对应的就是vs2012
2.4 bin里是动态链接库,放到环境变量里系统才能找到
3. 新建一个vs2012 visual c++的工程
4. 在工程属性里面,vc++directories中修改include 和 library directories,路径分别为
***\OpenCV2.4.4\build\include;
***\OpenCV2.4.4\build\include\opencv;
***\OpenCV2.4.4\build\include\opencv2;
$(IncludePath)
以及
***\OpenCV2.4.4\build\x86\vc11\lib;
$(LibraryPath)
图1:
以上Debug和Release一样
不一样的是:
Debug下,修改linker->input里面的附加依赖项为:
opencv_calib3d244d.lib
opencv_contrib244d.lib
opencv_core244d.lib
opencv_features2d244d.lib
opencv_flann244d.lib
opencv_gpu244d.lib
opencv_haartraining_engined.lib
opencv_highgui244d.lib
opencv_imgproc244d.lib
opencv_legacy244d.lib
opencv_ml244d.lib
opencv_nonfree244d.lib
opencv_objdetect244d.lib
opencv_photo244d.lib
opencv_stitching244d.lib
opencv_ts244d.lib
opencv_video244d.lib
opencv_videostab244d.lib
Release下,修改linker->input里面的附加依赖项为:
opencv_calib3d244.lib
opencv_contrib244.lib
opencv_core244.lib
opencv_features2d244.lib
opencv_flann244.lib
opencv_gpu244.lib
opencv_highgui244.lib
opencv_imgproc244.lib
opencv_legacy244.lib
opencv_ml244.lib
opencv_nonfree244.lib
opencv_objdetect244.lib
opencv_photo244.lib
opencv_stitching244.lib
opencv_ts244.lib
opencv_video244.lib
opencv_videostab244.lib
图2:
5. 编写个OpenCV界的Hello world,召唤lena女神出来show一下吧
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
using namespace cv;
int main()
{
IplImage* img;
img = cvLoadImage("lena.bmp");
cvShowImage("Show", img);
cvWaitKey(0);
return 0;
}
图3:
附:
0. 如果弹出提示说系统找不到 ********244d.dll之类的,可能是环境变量路径的问题
1. 如果系统说未解析的外部符号 __cvLoadImage 之类的,查查是不是工程在release模式下但是没配置,或者工程平台在win32下但是配置文件是64位的路径