在配置的过程中分别参考了一下博客:
https://blog.csdn.net/qq_35144795/article/details/78808293;
https://blog.csdn.net/amusi1994/article/details/76768775?locationNum=10&fps=1
https://blog.csdn.net/dlhlSC/article/details/51298186;
https://blog.csdn.net/dream_bin123/article/details/78618817;
其中第一,二个详细讲解配置过程,第三,四个用来解决我编译调试时所遇到的问题。
这个是下载opencv3.3.0 的百度网盘地址:https://pan.baidu.com/s/1hseSRMs
操作环境:
Windows7_x64 + Visual Studio 2013 (亲测Win10系统和VS2015也是可以的)
编译配置工具:
CMake(利用CMake对OpenCV源码进行编译生成VS的64位解决方案)
第一步:下载并安装CMake
直接登录CMake官网下载Windows64位安装包
链接:https://cmake.org/download/
下载完成以后双击安装,按提示安装即可
第二步:下载并解压OpenCv3.3
官网链接:https://opencv.org/releases.html 注意:选择3.30的Sources版本进行下载
下载完成以后解压到文件夹,如下opencv-3.30文件便是解压以后的文件,OpenCV_VS2013_x64是自建的文件夹,用来保存生成以后的解决方案。
第三步:利用CMake配置库并生成解决方案
打开安装好的CMake,如下图所示:①将解压后的OpenCV3.3路径添加到1框中;②新建一个文件夹用于存放CMake生成的解决方案,并将其路径添加到2框中,这里我建的文件夹名称就是OpenCV_VS2013_x64 。
点击Configue以后,会出现下述界面,选择红框中的两项,点击Finish
第一次Configure完成以后,会出现如下界面,提示选择函数库,根据需要自行选择,选完以后继续Configure
第二次Configure完成以后,点击Generate
提示Generating done以后,点击Open Project,此时CMake会自动启动Visual Studio 2013,并打开上述生成的x64解决方案,如下图所示。(该解决方案就在新建的OpenCV_VS2013_x64目录下,文件名为:OpenCV.sln)
第四步:生成并安装解决方案
Debug版本:
①右击ALL_BUILD,选择生成 ②ALL_BUILD生成完成以后,右击INSTALL,选择生成。
INSTALL生成完成以后,会在自建的OpenCV_VS2013_x64目录下生成一个install文件夹
至此,Debug版本的解决方案已经完成,Release版本操作步骤与Debug版本相同
第5步:配置OpenCv3.3的动态链接库
将OpenCV3.3中的bin的绝对路径添加到系统环境变量中,这样才能调用OpenCV库,打开bin文件夹,如下图所示,有很多dll文件,其中带d的表示Debug版,不带d的表示Release版。
我的bin路径为:
E:\OpenCV\OpenCv3.3\OpenCV_VS2013_x64\install\x64\vc12\bin,
将其添加到系统环境变量中,如下图所示:
第6步:在Visual Studio 2013中配置OpenCv3.3
①打开VS2013,新建一个工程,命名为TestDemo,选择空项目即可
选择win64活动平台,注意这个是在属性管理器里的。要将管理器从win32配置成X64.在解决方案管理器里,点击项目名称TestDemo,右键->属性->配置管理器->活动解决方案平台->新建->键入或选择新平台中选择X64->确定。
配置Debug版本:
右击Debug64目录下的Microsoft.Cpp.x64.user,选择第一栏:添加新项目属性表,并将该属性表命名为Debug_x64.props,之后会在该目录下生成Debug_x64
② 右击Debug_64,选择属性栏。选择VC++目录:
将路径:
E:\OpenCV\OpenCv3.3\OpenCV_VS2013_x64\install\include
E:\OpenCV\OpenCv3.3\OpenCV_VS2013_x64\install\include\opencv
E:\OpenCV\OpenCv3.3\OpenCV_VS2013_x64\install\include\opencv2
添加到包含目录中:
将路径:
E:\OpenCV\OpenCv3.3\OpenCV_VS2013_x64\install\x64\vc12\lib
添加到库目录中:
③选择链接器-输入-附加依赖项,将库名称添加到依赖项中:
opencv_calib3d330d.libopencv_core330d.libopencv_dnn330d.libopencv_features2d330d.libopencv_flann330d.libopencv_highgui330d.libopencv_imgcodecs330d.libopencv_imgproc330d.libopencv_ml330d.libopencv_objdetect330d.libopencv_photo330d.libopencv_shape330d.libopencv_stitching330d.libopencv_superres330d.libopencv_video330d.libopencv_videoio330d.libopencv_videostab330d.lib
至此Debug版本已经配置完成。
④:Release版本配置
除了最后一步附加依赖项不同,Release版本的配置流程与Debug版本的配置一致:
Release版本的动态链接库都不带d,如下所示,将其复制到附加依赖项中即可
opencv_calib3d330.lib
opencv_core330.lib
opencv_dnn330.lib
opencv_features2d330.lib
opencv_flann330.lib
opencv_highgui330.lib
opencv_imgcodecs330.lib
opencv_imgproc330.lib
opencv_ml330.lib
opencv_objdetect330.lib
opencv_photo330.lib
opencv_shape330.lib
opencv_stitching330.lib
opencv_superres330.lib
opencv_video330.lib
opencv_videoio330.lib
opencv_videostab330.lib
至此,配置完成:
写个小程序测试一下:
按照上面的配置,编译运行时出现如下错误:
1。错误:opencv-3.3.0.exe - 系统错误 无法启动程序,因为计算机中丢失opencv_core330d.dll
解决:我确定bin目录以及配置到系统环境变量中但是还是不行,所以按照网上的解决方案:
如果设置和系统的环境变量还是出现这个问题,那么将bin目录下的.dll文件都拷贝到C:\WINDOWS\system32\目录下就可以解决这个问题。
2.错误:OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow
解决:如果在使用Opencv的过程中出现OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file ……..\opencv\modules\highgui\src\window.cpp, line 261,则是文件路径有误,
应将Mat img = imread(“D:\pics\test.png”);
改为
Mat img = imread(“D:\\pics\\test.png”);