OpenCV3.4.1+VS2017安装教程(WINDOWS10)

简介

笔者借助某位大神的博客点击打开链接通过CMake方式安装配置OpenCV3.4.1(2018-5-31),但最终运行Demo程序时没能达到预期效果,经过一番调试终于成功(备注:这位大神的安装OpenCV时的过程是没有问题的,值是新建工程Demo时没有考虑到例如不同版本带来的一些细节问题),于是决定写一份较为详细的教程

笔者安装环境

Win10 x64

Visual Studio 2017

下载安装OpenCV

1. 安装CMake工具

    1)说明:相当于一个由OpenCV源压缩包配置OpenCV的辅助工具,当然也有直接安装OpenCV的方法,笔者没试过故不谈。

     2)下载安装:安装教程参考CMake官网下载链接

2. 下载OpenCV

    进入OpenCV发行版官网,点击Sources就会弹出"opencv-3.4.1.zip"下载窗口,下载完毕就可以准备安装

3.安装OpenCV

   由于按照大神博客安装没什么大问题,此处我就偷懒直接贴链接了,但仍有以下要注意的地方

    1)注意安装OpenCV的版本和电脑的Visual Studio版本!!!

    2)配置系统环境变量时一定要注意该路径下是否都有结尾带d (Debug)和不带d(Release)的dll文件,例如笔者对应的路径就没有带d的           dll文件

        此时可以直接去“...\opencv-3.4.1_VS2017_x64(这个文件夹是自建的,具体看大神博客)\bin\"路径下查看会发现有Debug和Release两个文件夹, 打开文件夹会发现所有dll文件都在这两文件夹里面,因此系统环境变量最好是包含两个文件,也可以直接把文件复制到你想要包含的文件夹,别太奇葩就行。

OpenCV测试示例

1. 新建Visual Studio工程

    新建C++空项目(这个应该没什么好说的把),并把工程配置成x64

2.配置属性页

1)Debug

  打开属性管理器(顶部菜单栏的视图-其他窗口-属性管理器)


      右击" Debug|x64"添加新项目属性表, 命名为如"OpenCV3.4.1_VS2017_Debug_x64",上图是我已经创建好的,然后点击添加
然后再右击你新建好的属性表,添加包含目录和库目录,

包含目录有三个

...\opencv-3.4.1_VS2017_x64\install\include

..\opencv-3.4.1_VS2017_x64\install\include\opencv

..\opencv-3.4.1_VS2017_x64\install\include\opencv2

而库目录笔者建议选择"...\opencv-3.4.1_VS2017_x64\lib\Debug",就是一定要包含带d的.lib文件,笔者按照大神博客选择的目录是没有带d的,lib文件的,这足足坑了我一会,,,

然后"OpenCV3.4.1_VS2017_Debug_x64属性页"窗口中点击"链接器-输入",新建附加依赖项,把上文看到的lib文件的名字都复制进去

注意不同OpenCV版本的lib名字不一样,OpenCV3.4.1如下,如果版本不同就得一个一个把名字复制到记事本再粘贴了,注意换行

opencv_calib3d341d.lib
opencv_core341d.lib
opencv_dnn341d.lib
opencv_features2d341d.lib
opencv_flann341d.lib
opencv_highgui341d.lib
opencv_imgcodecs341d.lib
opencv_imgproc341d.lib
opencv_ml341d.lib
opencv_objdetect341d.lib
opencv_photo341d.lib
opencv_shape341d.lib
opencv_stitching341d.lib
opencv_superres341d.lib
opencv_ts341d.lib
opencv_video341d.lib
opencv_videoio341d.lib
opencv_videostab341d.lib

此时Debug模式就配置好了,然后就已经可以Debug模式测试Demo了,新建"Demo.cpp"文件,复制一下代码,

#include <opencv.hpp>  
#include <iostream>  
using namespace cv;
using namespace std;

int main()
{
	cout << "OpenCV Version: " << CV_VERSION << endl;
	Mat img = imread("1440.jpg");
	imshow("1440", img);
	waitKey(0);
	return 0;
}

并在工程目录下放入一张如名为"1440"的图片文件


选择Debug-x64应该就能运行成功了
2) Release
尽管Debug模式配置好了可以运行,但先别激动,还是得把Release版本配置好,方法同Debug,新建属性页,配好包含目录(与Debug的目录完全相同),库目录(与Debug有区别!!,找到结尾不带d的.lib文件),和附加依赖项( 与Debug有区别!!,下文贴出OpenCV3.4.1的Release附加依赖项)
注意运行程序时要改成Release!!
opencv_calib3d341.lib
opencv_core341.lib
opencv_dnn341.lib
opencv_features2d341.lib
opencv_flann341.lib
opencv_highgui341.lib
opencv_imgcodecs341.lib
opencv_imgproc341.lib
opencv_ml341.lib
opencv_objdetect341.lib
opencv_photo341.lib
opencv_shape341.lib
opencv_stitching341.lib
opencv_superres341.lib
opencv_ts341.lib
opencv_video341.lib
opencv_videoio341.lib
opencv_videostab341.lib
3)另一种一劳永逸但个人觉得不好的配置方式
   即不用新建工程,直接配置现有的"Microsoft.Cpp.x64.user"("Debug|x64"或"Release|x64"随便选,配置了一个另一个也会跟着变),把Debug和Release的包含目录、库目录和附加依赖项都加进去,这样相当于给VS内部配置了库和库路径,之后新建工程时也不用重新再配,但个人觉得这种便宜的方式不太好,具体自行体会,最后祝大家心想事成!!
















猜你喜欢

转载自blog.csdn.net/JohnJim0/article/details/80514772
今日推荐