文章目录
[TOC]
前言
自己近期在学习机器学习,想要动手做一个人脸识别项目,而OpenCV是一个非常不错的开源计算机视觉和机器学习库,里面包含很多人脸检测和识别算法,并且包含很多训练好的模型,实际实践起来相对简单,很适合现阶段的学习。OpenCV支持Python、C++、Java等多种语言,基于Python环境的搭建过程比较简单(Pycharm+Anaconda+OpenCV),本文主要记录VisualStudio下C++环境的搭建以及OpenCV相关的配置
环境
Windows10
Visual Studio 2019
OpenCV-4.3.0
引用
1.官网VS2019安装教程
2.创建C++控制台程序官网教程
3.visual studio 2019安装配置可编写c/c++语言的IDE环境
4.Visual Studio 与Visual C++ 有什么区别
5.VS2017+opencv4.2.0环境搭建详细步骤图解
VS2019下载与安装
-
VS官网免费下载Visual Studio 2019社区版
Y6YFDx.md.png - 在VS2019 installer中勾选C++组件选项,也可以修改安装路径(本机C盘是SSD,使用了默认路径,以便打开速度更快)
Y6ttw6.md.png - 等待安装完毕
OpenCV下载与安装
下载
官网下载OpenCV
https://opencv.org/releases/选择当前最新版本的
OpenCV-4.3.0
,点击Windows
[图片上传失败...(image-bb29f9-1589629891250)]注意:不同版本的OpenCV对应于不同版本的
Visual C++
,这里的vc14_vc15
表示包含VC++14
和VC++15
编译后的两个版本。之所以要注意这一点是因为不同的版本的Visual Studio
中包含不同版本的Visual C++
。关于这两者之间的关系,可以参考引用[4]。-
部分
Visual Studio
与Visual C++
版本对应关系如下表:Visual Studio 版本 Visual C++ 版本 VS 6.0 VC 6.0 VS 2013 VC 12 VS 2015 VC 14 VS 2017 VC 15 VS 2019 VC 16
安装
-
配置环境变量,将安装文件下的
bin
文件添加到系统变量Path
中,例如添加D:\Program Files\OpenCV\build\x64\vc15\bin
,根据自己的安装路径调整
YcpCsP.png 注意:选择
vc15
对应的文件夹
创建&配置C++项目
填写项目名称和存放路径
[图片上传失败...(image-643b74-1589629891250)]-
项目配置有两种方式:
- 一种是只配置当前项目的设置
- 一种是配置当前用户的设置
-
以配置当前项目为例:
-
编写简单的C++程序,并将编译平台设置为
x64
这是因为OpenCV4.3.0
只支持x64
Ycu4iR.png -
右击项目名
OpenCV
→Properties
→VC++ Directories
YcKytA.png -
配置头文件包含路径,编辑
include Directories
,将目录D:\Program Files\OpenCV\build\include
和目录D:\Program Files\OpenCV\build\include\opencv2
加入其中
YcQPaQ.png -
配置库文件路径,编辑
Library Directories
,添加目录D:\Program Files\OpenCV\build\x64\vc15\lib
YcQWdg.png 配置链接器,回到
OpenCV Property Pages
页面,点击Linker
→Input
,选择右侧第一个附加依赖项Additional Dependencies
,点击编辑
[图片上传失败...(image-ed7c6e-1589629891250)]-
将文件夹
D:\Program Files\OpenCV\build\x64\vc15\lib
下的opencv_world430d.lib
文件名加入其中(注意:不同OpenCV版本的这个库文件编号不同,具体依据自己实际下载情况)
Yc1h2n.png
opencv_world430d.lib是Debug版本的文件库,填入即可
Yc1cVS.png 点击
应用
和确认
,重启VS2019
测试
- 替换
main.cpp
内容为以下测试代码:
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char* argv[]) {
const char* imagename = "****";//此处为你自己的图片路径
//从文件中读入图像
Mat img = imread(imagename, 1);
//如果读入图像失败
if (img.empty()) {
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
//显示图像
imshow("image", img);
//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;
}
-
点击
Build
→build solution
或则Ctrl+Shift+S
,观察编译输出的信息,没有问题选择Debug
→Start Debuging
或者F5
,观察运行结果
YcYb9g.png 如果出现以上界面,说明配置成功(示例代码没有提供照片路径,需要自己添加)