目录:

  • 前言
  • 一.opencv安装
  • 二.vs中配置opencv
  • 三.vs code
  • 四.cmake编译opencv代码


前言

既然前面已经写过了ubuntu安装opencv:ubuntu安装opencv,那么也把windows下的也来一遍吧。

一.opencv安装

opencv安装可以从源码编译,也可以从使用预编译包安装。笔者这里使用简单的使用预编译包安装。

首先从opencv下载opencv的预编译包:预编译包下载地址

双击下载的预编译包

visualisation opencv 编译 opencv编译安装_windows


可以选择安装路径这个路劲得记住,后面有用到,然后点击Extract即可安装然后是配置环境变量:

笔者是在搜索框里面搜索“编辑系统环境变量”来配置环境变量的,如下:

visualisation opencv 编译 opencv编译安装_OpenCV_02


然后找到path:

visualisation opencv 编译 opencv编译安装_预编译_03


点编辑,然后是新建,找到opencv的安装文件夹中的build\x64\vc15\bin目录复制这个路径粘贴的新建的环境变量里面。注意x64文件夹下可能有多个vc文件,找自己vs版本接近的即可。

visualisation opencv 编译 opencv编译安装_OpenCV_04

然后opencv就安装完成了

二.vs中配置opencv

vs中配置opencv的话比较麻烦一点,但是也有优点,就是不用像cmake一样操作繁琐,只需要点击运行即可。

1.首先使用vs新建一个c++的项目,当然也需要记得自己建在那里。

2.点击项目->属性,找到配置属性下的vc ++目录,找到包含目录,然后编辑。

visualisation opencv 编译 opencv编译安装_计算机视觉_05

添加opencv安装目录的include目录和include目录下的opencv2即可,读者找到自己opencv安装路径的对应目录即可。

visualisation opencv 编译 opencv编译安装_OpenCV_06


C:\Program Files\opencv\build\include

C:\Program Files\opencv\build\include\opencv23.同样是vc ++目录下的库目录,添加静态链接库如下:

visualisation opencv 编译 opencv编译安装_OpenCV_07


C:\Program Files\opencv\build\x64\vc15\lib4.添加附加依赖,配置属性中的链接器->输入,添加如下文件名:

visualisation opencv 编译 opencv编译安装_计算机视觉_08


opencv_world453d.lib

这个文件其实就在我们上面的C:\Program Files\opencv\build\x64\vc15\lib目录下。

最后点击确定即可。

5.测试

新建一个cpp文件

visualisation opencv 编译 opencv编译安装_OpenCV_09


visualisation opencv 编译 opencv编译安装_opencv_10

代码如下:

#include<opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
	Mat src = imread("1.png");
	if (src.empty())
	{
		printf("could not load image…\n");
		return -1;
	}
	namedWindow("test opencv setup", 100);
	imshow("test opencv setu", src);
	waitKey(0);
	return 0;
}

然后随意找个图片改名成1.png复制到刚才建立的cpp文件同级目录下即可,然后点击调试中的开始执行即可运行。

visualisation opencv 编译 opencv编译安装_预编译_11

三.vs code

首先vs code自然得配置好c++环境。

然后使用ctrl+shift+P快捷键输入C/C++:Edit Configurations就是如下图的UI

visualisation opencv 编译 opencv编译安装_计算机视觉_12


然后添加如下包含路径:

visualisation opencv 编译 opencv编译安装_opencv_13


读者只需要在自己的安装目录下找到对应目录即可,这样就能使用vs code编写代码时候有提示了。

四.cmake编译opencv代码

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。

首先建立一个imread.cpp文件,内容如下:

#include<opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
	Mat src = imread("1.png");
	if (src.empty())
	{
		printf("图片输入错误,请检查图片路径\n");
		return -1;
	}
	namedWindow("image", 100);
	imshow("image", src);
	waitKey(0);
	return 0;
}

建立一个CMakeLists.txt文件如下,其中第三行改成自己安装的对应路径:

cmake_minimum_required(VERSION 2.8)
project(test)
set(OpenCV_DIR "C:/Program Files/opencv/build")
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(imread imread.cpp)
target_link_libraries(imread ${OpenCV_LIBS})

然后在这两个文件同级目录下建立一个名为build的文件夹,用来存放编译过程的文件。如下,进入build然后输入cmd回车,或者在vs code终端进入build。

visualisation opencv 编译 opencv编译安装_opencv_14


然后输入命令如下:

cmake ..

然后就能在在build文件夹下看到一个sln文件,双击使用vs打开:

visualisation opencv 编译 opencv编译安装_预编译_15


然后点击生成,重新生成解决方案,然后就能在build的Debug目录下找到imread.exe可执行文件了。随意将一张图片命名为1.png复制在imread.exe同级目录下,同样的操作在Debug打开cmd输入imread.exe就能看到图片显示了,运行成功。运行结果如下:

visualisation opencv 编译 opencv编译安装_opencv_16


然后读者在自己开发的时候只需要将CMakeLists.txt的imread修改成自己的cpp文件的名字即可,一样的过程。