电脑之前就安装过opencv,但后来给删除了,今日份再次安装时就弄出错了,在此我将从网上找到的教程综合起来给大家详细说一番。
首先第一步安装VS2017,在此VS2017的安装,想必大家都很明白,文件很小,只有1M多,附上下载链接:
链接:https://pan.baidu.com/s/1uPhZJUzyEVFt8TDyN6S3Lw
提取码:nrt6
解压之后使用企业版安装,直接点击进入并勾选安装选项,并修改安装路径,然后自动傻瓜安装
OpenCV3.4.6下载链接:https://github.com/opencv/opencv/releases
OpenCV3.4.6 contrib下载链接:https://github.com/opencv/opencv_contrib/releases
Cmaker下载链接:https://cmake.org/download/
首先找到并解压cmaker,然后在bin文件夹下找到cmaker-gui.exe,点击即可。
然后,在where is source code中浏览到OpenCV3.4.6的source文件夹,where to build the binaries浏览到你新建立的空文件夹,
之后点击Configure,会弹出让你选择VS版本,在这里我们选择VS2017,但请注意,下面还要根据你的版本选择x86还是x64,在这里是网图,后面带有win46就不用选择了
点击finish之后,点击configure,会出现大片红色,这里,先更改红色中的部分选项:
1、手动勾选BUILD_opencv_world和BUILD_EXAMPLES。勾选BUILD_opencv_world,主要是把所有的lib文件都弄到一个opencv_world341d.lib中方便配置,若不勾选在最后会产生大量.lib文件,导致最后配置Opencv到vs会太麻烦,有过OpenCV动态链接库的人都知道。
2、勾选 BUILD_EXAMPLES,就是编译Opencv自带的例程。
3、OPENCV_ENABLE_NONFREE是为了在编译成功后可以使用具有专利保护的算法,如果该变量不被选中,就不能使用例如SIFT算法在内的具有专利保护的算法,
4、找到“OPENCV_EXTRA_MODULES_PATH”变量,该变量的含义是告诉编译器扩展包的源码在哪里,选择我们刚才下载的opencv_contrib安装包里的modules文件夹。如果这个变量为空,在编译过程中也不会报错,只是安装了OpenCV的基础版。
勾选完上述操作后,再次点击configure·,直至所有的都变白,但还是要注意下面画红框的是否报错,如果有报错,你不管,后面的步骤还会在出错,进行不下去,请点击链接,看我的另一篇报错文章详解,链接如下:https://blog.csdn.net/YHxiaohao/article/details/105901509
当红色框内没有报错的话,恭喜你,完成了一大步。此时,再点击generate,这时就可以关闭cmaker了。在你刚刚新建的where to build the binaries那个文件夹下的目录中找到OpenCV.sln文件,用Visual Studio 2017打开该文件选择Release/Debug x64平台并重新生成解决方案,这个过程会比较漫长。
经过漫长时间的等待后,如果没有报错,在资源管理器中找到CMakeTargets中的INSTALL文件,右键选择“仅用于项目”中的“仅生成INSTALL”。
上面已经生成之后,接下来是环境变量的配置,环境变量配置包括两方面,一方面是电脑端的,另一方面是软件端的。
电脑端的配置,打开桌面我的电脑,右键属性,打开控制面板,点高级系统设置,再点环境变量,选中path,并点编辑,输入第三张图中where to build the binaries你刚刚建立的文件下,install->x64->vc15->bin路径,之后确定。
以上就是电脑环境变量的设置,设置完之后,你还需要对软件端设置,打开vs2017,新建控制台应用程序,路径随便,
然后在属性管理器中,点击你刚刚生成解决方案时的那个环境,在这里我的是Debug x64,刚在你打开OpenCV.lsn时用的什么环境,你在这里就用什么环境。右键添加现有属性表,此时路径更改到你opencv路径下,这样你能够以后再用就不用配置了,直接加载。
新建属性表之后,右键属性,进入页面,在vc++目录中的包含目录和库目录中加入你第三张图中新建文件路径下以下这些:
包含目录:
D:\software\opencv\opencv_build\install\include\opencv
D:\software\opencv\opencv_build\install\include\opencv2
D:\software\opencv\opencv_build\install\include
库目录:
D:\software\opencv\opencv_build\install\x64\vc15\lib
在链接器->输入中附加依赖项:opencv_world346d.lib。在这里我们不用加载网上说的那些很多的lib,因为在前面我们已经勾选了相关选项,请查看前文。
至此点击确定,并进行保存。以后使用该功能时,直接打开加载文件就是了。
但还没有结束,找到\opencv\opencv_build\install\x64\vc15\bin 下的三个dll 复制到C:\Windows\System32中就可以使用了。
下面可以用一个小程序验证:
#include
#include
#include
using namespace cv;
int main()
{
// 读入一张图片
Mat img=imread("pic.jpg");
// 创建一个名为 "游戏原画"窗口
cvNamedWindow("游戏原画");
// 在窗口中显示游戏原画
imshow("游戏原画",img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
return 0;
}