OpenCV3.1.0 + contrib编译
环境介绍
Windows7专业版 + 64位操作系统
工具
VS2012 + Cmake3.2.3
步骤
编译
1)打开Cmake-gui,选择opencv source code文件夹和自己定义的编译后放置位置的文件夹
2)填写好相关路径后,点击configure。
3)configure成功后,在显示红色的区域找到OPENCV_EXTRA_MODULES_PATH,选择自己放置的opencv_contrid中的modules文件夹。
4)在此执行configure,成功后,执行generate,当出现Generating done,表示编译成功。
注意:configure过程中可能会出现错误,原因是configure需要下载一些相关信息,但因网速问题,可能导致失败,此时需要重新configure或自己查看错误信息到相关网站上下载对应信息放在相应的路径下即可。
安装
1)编程完成后,打开OpenCV的解决方案,在CMakeTarget文件夹中找到Install解决方案
2)右击Install解决方案,点击生成(根据生成debug和release版本进行设置),从而生成对应的dll和lib文件
3)生成成功后,可以在OpenCV解决方案的install下找到dll,lib和.h头文件。
注意:安装过程中,会出现一些警告,但保证不要出现变异错误,本人开始用opencv3.0 + opencv_contrid是出现相关头文件找不到信息,经查看相关资料,改用opencv3.1.0 + opencv_contrid便可安装成功。
配置
1)更改系统路径,具体右键我的电脑,点击属性,选择系统路径,编辑path,添加对应的install中的vc11下的路径即可。
2)VC++目录–>包含目录,添加install中的include
3)VC++目录–>库目录,天剑install中的lib和staticlib
4)链接器–>输入附件依赖项,添加信息如下:
opencv_bgsegm300d.lib opencv_bioinspired300d.lib opencv_calib3d300d.lib opencv_ccalib300d.lib opencv_core300d.lib opencv_datasets300d.lib opencv_face300d.lib opencv_features2d300d.lib opencv_flann300d.lib opencv_hal300d.lib opencv_highgui300d.lib opencv_imgcodecs300d.lib opencv_imgproc300d.lib opencv_latentsvm300d.lib opencvlinedescriptor300d.lib opencv_ml300d.lib opencv_objdetect300d.lib opencv_optflow300d.lib opencv_photo300d.lib opencv_reg300d.lib opencv_rgbd300d.lib opencv_saliency300d.lib opencv_shape300d.lib opencv_stereo300d.lib opencv_stitching300d.lib opencv_superres300d.lib opencvsurfacematching300d.lib opencv_text300d.lib opencv_tracking300d.lib opencv_ts300d.lib opencv_video300d.lib opencv_videoio300d.lib opencv_videostab300d.lib opencv_xfeatures2d300d.lib opencv_ximgproc300d.lib opencv_xobjdetect300d.lib opencv_xphoto300d.lib ippicvmt.lib
5)重启电脑,以便使更改的系统路径生效即可。
测试
编写相关函数进行测试即可。
#include <opencv2\opencv.hpp> #include <iostream> #include <string> using namespace cv; using namespace std; int main() { Mat img = imread("test.bmp"); if(img.empty()) { cout<<"error"; return -1; } imshow("mypic",img); waitKey(); return 0; }
注意:测试过程中可能出现opencvcore.dll找不到错误,此时需要把安装生成的dll文件拷贝到Systems32下即可。
参考文献
http://www.voidcn.com/blog/eagelangel/article/p-5035347.html
http://www.voidcn.com/blog/eagelangel/article/p-5035347.html