首先我安装的opencv的版本是3.4.0,在安装的时候非常有用的一个网站是:https://docs.opencv.org/3.4.0/df/d65/tutorial_table_of_content_introduction.html
接下来详细描述一下安装的步骤:
(1)在网上下载opencv3.4.0的安装包,放在指定的一个位置,我的放在"C:\Program Files\opencv_tool"该目录下,一定要记住这个文件路径。
(2)管理员身份运行运行opencv3.4.0.exe程序,该程序会自动解压源文件。
(3)配置环境变量:
局部配置开始:
系统变量:"OPENCV_DIR"路径名为:"C:\Program Files\opencv_tool\opencv\build\x64\vc14",注意vs2015使用的是vc14
OPENCV_DIR D:\OpenCV\Build\x86\vc11 (suggested for Visual Studio 2012 - 32 bit Windows)
OPENCV_DIR D:\OpenCV\Build\x64\vc11 (suggested for Visual Studio 2012 - 64 bit Windows)
OPENCV_DIR D:\OpenCV\Build\x86\vc12 (suggested for Visual Studio 2013 - 32 bit Windows)
OPENCV_DIR D:\OpenCV\Build\x64\vc12 (suggested for Visual Studio 2013 - 64 bit Windows)
OPENCV_DIR D:\OpenCV\Build\x64\vc14 (suggested for Visual Studio 2015 - 64 bit Windows)
编辑Path系统变量新建一条记录为:"%OPENCV_DIR%\bin"
(4)进入vs2015里面进行配置
创建一个win32控制台应用程序的工程比如工程名为"opencv","解决方案配置"选择 Debug,"解决方案平台"选择:x64,注意在网站上面设置的x86,我最开始尝试的也是x86但是设置好了以后整个项目运行不了,当我对x64进行设置的时候整个项目没有问题,所以这里我们选择x64。
打开项目的属性管理器,具体位置在 "视图"--》"其它窗口"--》"属性管理器"
在属性管理器展开Debug|x64,选中“Debug|64”鼠标右键--》添加新项目属性表--》确定
在"Debug|64"选项卡下面 选中新建的新项目属性表鼠标右键--》属性--》通用属性--》c /c++--》常规--》添加包含目录--》点击右边的下拉箭头--》编辑--》添加该目录"$(OPENCV_DIR)\..\..\include"--》然后确定,这里的"\.."用是返回上一层目录的意思
接下来,"Debug|64"选项卡下面 选中新建的新项目属性表鼠标右键--》属性--》通用属性--》连接器--》常规--》附加库目录--》“$(OPENCV_DIR)\lib”点击确定
然后,"Debug|64"选项卡下面 选中新建的新项目属性表鼠标右键--》属性--》通用属性--》连接器--》输入--》附加依赖项-》右边的下拉箭头--》编辑--》"opencv_world340.lib"点击确定,最后一定要点击应用--》确定然后才能够保存
最后一步就是,选中Debug|64"选项卡--》添加现有属性列表--》选择刚刚编辑的属性列表--》确定
局部配置结束
全局配置开始
全局的变量就是对"Debug|64"选项卡下面的Microsoft.Cpp.x64.user进行配置,配置方式和局部的方法相一致,后面只需要将OPENCV_DIR添加到include目录中
全局配置结束
为了验证之前的配置是否成功有效,以及opencv是否可用,可以运行的代码,如果运行成功则表示配置成功,否则就检查刚刚配置的步骤是否有误,建议使用局部的方法这里局部的方法进行了验证的,全局的方法是看得官方的安装文档没有进行验证。
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
if (argc != 2)
{
cout << " Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
}
Mat image;
image = imread(argv[1], IMREAD_COLOR); // Read the file
if (image.empty()) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl;
return -1;
}
namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
imshow("Display window", image); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}