Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)

前言:OpenCV是视觉领域中应用十分广泛的开源软件库,在实际项目应用中,通常对OpenCV Cmake主要有以下两点:

1.方便调试opencv源码
2.为了与某些库兼容

在Windows下使用Visual Studio 编译OpenCV (本文以win10+vs2017+opencv4.5.2为例)步骤如下:
PS:下载OpenCV、Cmake等可参考这篇博客

一、获取OpenCV对应版本

1.下载OpenCV,进入OpenCV官网。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第1张图片
2.进入Github,找到OpenCV所需要的版本。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第2张图片
3.在OpenCV4.5.2列表中选择Source code(zip)文件,推荐使用迅雷下载。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第3张图片
4.在github里面输入opencv_contrib,下载opencv_contrib4.5.2。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第4张图片

以上步骤完成获取OpenCV对应版本。

二、Cmake下载及安装

1.下载Cmake,进入Cmake官网。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第5张图片
2.进入Download页面,下载所需的版本。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第6张图片

3.选择合适的版本,本文选择3.16.8版本。发现官网上只有最新版本。历史版本需要去github里面下载。

Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第7张图片
4.进入Github,找到Cmake v3.16.8版本。选择cmake-3.16.8-win64-x64.msi下载。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第8张图片
5.运行cmake-3.16.8-win64-x64.msi,默认安装即可。

以上步骤完成Camke对应版本的安装。

三、Visual Studio 下载及安装

1.进入微软官网,下载Visual Studio。本文在I tell you 下载Visual Studio 2017。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第9张图片
2.选择【开发人员工具】,找到Visual Studio 2017。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第10张图片

3.下载到本地后,运行安装所需模块即可。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第11张图片
以上步骤完成Visual Studio 2017的安装。

四、编译OpenCV

1.将下载的opencv4.5.2解压到指定目录,将opencv_contrib4.5.2解压放入到opencv4.5.2目录下。
在这里插入图片描述
2.在opencv4.5.2目录下新建bulid_x64文件夹
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第12张图片
3.打开Cmake,添加OpenCV源码位置及编译位置。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第13张图片
4.点击【configure】,弹出配置框,按下图设置。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第14张图片
5.点击配置框里面的【Finish】,开始配置。出现Configuring done表示配置结束。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第15张图片
6.Cmake里面有许多模块,可以根据实际情况选择。

勾选BUILD_opencv_world
在这里插入图片描述
如果不需要python模块,可以去掉python相关的模块
在这里插入图片描述
添加opencv_contrib模块路径
在这里插入图片描述
如果需要CUDA模块,对应勾选CUDA相关模块。默认不勾选。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第16张图片
7.点击【generate】,开始生成。
PS:需要科学上网(fan qiang),如果无法科学上网,会有很多文件无法下载导致编译失败。OpenCV4.5.2的Cmake文件可以点击OpenCV4.5.2的Cmake文件下载以便节约时间。

8.CMakeDownloadLog.txt里面记录了所需文件的下载地址和状态,如果下载失败,可以根据里面的下载地址使用迅雷,可以将一部分的文件下载下来。部分即使有地址,也无法访问导致失败。(不要问我为什么,过来人你懂的)
如果是编译OpenCV4.5.2 推荐第七点直接下载OpenCV4.5.2的Cmake文件。其他版本会麻烦些。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第17张图片
9.使用OpenCV4.5.2的Cmake文件无需再次下载,直接编译成功。

Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第18张图片
10.点击【Open Project],打开OpenCV 工程。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第19张图片
11.右键解决方案,点击【批生成】
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第20张图片
12.勾选ALL_BUILD、INSTALL等生成即可。这个过程比较耗时(约一小时左右)。

五、测试OpenCV

1.将编译完成的OpenCV加载到新的工程下。打开编译文件build_x64文件夹,找到install文件夹(包含opencv的lib文件和dll)、include文件夹(包含所需头文件)。

在这里插入图片描述Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第21张图片Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第22张图片

2.打开VS2017,创建控制台程序。打开项目属性,将lib文件和头文件对应放在库目录和包含目录里面
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第23张图片
3.将lib文件添加到链接器->输入->附件依赖项 :opencv_world452d.lib。
Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)_第24张图片
4.测试代码

#include
using namespace cv;
int main()
{
    Mat picture = imread("test.jpg");  //图片的路径
    imshow("测试OpenCV", picture);
    system("pause");
    return 0;
}

5.程序正常运行,大功告成。

你可能感兴趣的:(opencv,深度学习,windows,c++,程序人生)