OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第1张图片

Cmake配置与生成

  1. 安装cmake

下载地址:https://cmake.org/download/

获取最新版本cmake-3.8.1-win64-x64.msi可执行程序,不是压缩包

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第2张图片

下载完毕直接运行安装,只有一个步骤要注意,

选择‘addCmake to the system PATH for the current user!!!

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第3张图片

安装完成后,即可打开Cmake

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第4张图片

  1. 下载opencv_contrib

OpenCVcontrib下载地址打开页面下载 ZIP。(挑选与opencv版本相匹配的contrib版本,我这里是3.2

https://github.com/opencv/opencv_contrib/releases

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第5张图片

解压缩到自定义目录(记住了位置,后面要用)(推荐放在opencv源包source下的modules目录下,不然有可能出错。。

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第6张图片

  1. Cmake的配置与生成

1填入‘ opencv源码的路径’以及‘准备输出的目录(自定义)’

如果还没下载opencv可以到官网下载,在opencv官网下载压缩包(格式.exe),解压缩到自定义目录。

之后,点击左下方的‘configure’

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第7张图片

2弹出窗口,选择vs对应的版本。我这里是VS2017Win64(64位的计算机选择Win64,否则默认为32位,根据自己的安装选择)

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第8张图片

默认选项‘use default native compliers’,点击‘finish’。

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第9张图片

3)此时,重新编译opencv开始执行,这需要花费一点时间。

完成会出现窗口如下:命令行显示‘Configuring done’表示成功!

滑动中间窗格找到‘OPENCV_EXTRA_MODULES_PATH’添加‘刚刚下载的 opencvcontrib-master包下的modules文件夹’路径。

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第10张图片

然后,在点左下方的’Generate‘按钮。‘generating done’表示生成成功!!!

⚠️补充,在生成过程中可能出现找不到或是下载不了‘opencv3.2protobuf-cpp-3.1.0.tar.gz

解决办法是:自己根据上述地址手动下载该文件,然后将编译时下载的文件替换掉。根据上述代码可知,如果该文件存在,就不会再去下载。

这里附上下载链接亲测有效。。。

【链接】opencv3.2protobuf-cpp-3.1.0.tar.gz

http://download.csdn.net/download/xzzppp/9749965

4)打开输出目录,找到OpenCV.sln文件,即表示cmake已完成配置与生成。

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第11张图片

VS编译生成installer

  1. 打开输出目录,找到OpenCV.sln文件,双击打开。

第一次打开,需要重新生成解决方案如图所示。(需要还蛮久的时间)

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第12张图片

  1. 全部生成成功后,按下图操作生成installOpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第13张图片
  1. 生成成功。OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第14张图片

打开同名路径,找到install包,包下是与opencv源包build相似的文件构架。

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第15张图片

重新配置OpenCV,include\libraries\附加依赖项。

  1. 新建一个项目

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第16张图片

Ok--下一步。。。。唯一要注意的地方就是:‘空项目’。

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第17张图片

在源文件下,新建项。

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第18张图片

  1. 打开属性管理器:修改包含目录,库目录。

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第19张图片

在侧边栏找到Debug|x64包下的Microsoft.Cpp.x64.user右键‘属性’

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第20张图片

删掉原有包含目录,改为如图所示的三个新目录。

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第21张图片

删掉原有库目录,改为如图所示目录。

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第22张图片

完事之后,记得点击应用,确定。

  1. 再一次打开属性页:修改附加依赖项

(因为,这玩意要手打输入,我在这里给出。。。你们粘一下)(可以通过命令行程序cmd的命令得到lib文件下所有的文件名,详细做法可以见我的另一篇博文)

添加内容:(其实就是之前install/…/lib下的内容

opencv_aruco320d.lib

opencv_bgsegm320d.lib

opencv_bioinspired320d.lib

opencv_calib3d320d.lib

opencv_ccalib320d.lib

opencv_core320d.lib

opencv_datasets320d.lib

opencv_dnn320d.lib

opencv_dpm320d.lib

opencv_face320d.lib

opencv_features2d320d.lib

opencv_flann320d.lib

opencv_fuzzy320d.lib

opencv_highgui320d.lib

opencv_imgcodecs320d.lib

opencv_imgproc320d.lib

opencv_line_descriptor320d.lib

opencv_ml320d.lib

opencv_objdetect320d.lib

opencv_optflow320d.lib

opencv_phase_unwrapping320d.lib

opencv_photo320d.lib

opencv_plot320d.lib

opencv_reg320d.lib

opencv_rgbd320d.lib

opencv_saliency320d.lib

opencv_shape320d.lib

opencv_stereo320d.lib

opencv_stitching320d.lib

opencv_structured_light320d.lib

opencv_superres320d.lib

opencv_surface_matching320d.lib

opencv_text320d.lib

opencv_tracking320d.lib

opencv_video320d.lib

opencv_videoio320d.lib

opencv_videostab320d.lib

opencv_xfeatures2d320d.lib

opencv_ximgproc320d.lib

opencv_xobjdetect320d.lib

opencv_xphoto320d.lib

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第23张图片

  1. 添加环境变量

复制目录:

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第24张图片

增加环境变量到Path

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第25张图片

整个开发环境部署完工!!!

但是要注意,每次执行项目时要重新设置Debug为‘x64’,否则会报错。

OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑_第26张图片

附赠测试代码:(图片路径自行修改)

#include

#include

 

using namespace cv;

int main(int argc,char** argv) {

Matsrc = imread("E:/image/lena.bmp");

if(src.empty())

{

printf("couldnot load image...\n");

return-1;

}

namedWindow("inputimage", CV_WINDOW_AUTOSIZE);

imshow("inputimage", src);

 

waitKey(0);

return0;

}

可以显示图片就代表,一切部署成功了,撒花!

你可能感兴趣的:(opencv学习)