VisualStudio2019安装配置OpenCV的C++环境

文章目录

[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-4.3.0-vc14_vc15.exe程序

  • 注意:不同版本的OpenCV对应于不同版本的Visual C++,这里的vc14_vc15表示包含VC++14VC++15编译后的两个版本。之所以要注意这一点是因为不同的版本的Visual Studio中包含不同版本的Visual C++。关于这两者之间的关系,可以参考引用[4]

  • 部分Visual StudioVisual 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

安装

  • 打开下载的opencv-4.3.0-vc14_vc15.exe,选择安装路径,如D:\Program Files\

  • 配置环境变量,将安装文件下的bin文件添加到系统变量Path中,例如添加D:\Program Files\OpenCV\build\x64\vc15\bin,根据自己的安装路径调整

    YcpCsP.png

  • 注意:选择vc15对应的文件夹

创建&配置C++项目

  • 打开VS2019,选择Create a new project

  • 选择Empty Project

  • 填写项目名称和存放路径
    [图片上传失败...(image-643b74-1589629891250)]

  • 项目配置有两种方式:

    • 一种是只配置当前项目的设置
    • 一种是配置当前用户的设置
  • 以配置当前项目为例:

    • 右击Resource FilesAddNew Item创建main.cpp文件

    • 编写简单的C++程序,并将编译平台设置为x64这是因为OpenCV4.3.0只支持x64

      Ycu4iR.png

    • 右击项目名OpenCVPropertiesVC++ 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页面,点击LinkerInput,选择右侧第一个附加依赖项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;
}
  • 点击Buildbuild solution或则Ctrl+Shift+S,观察编译输出的信息,没有问题选择DebugStart Debuging或者F5,观察运行结果

    YcYb9g.png

  • 如果出现以上界面,说明配置成功(示例代码没有提供照片路径,需要自己添加)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339