如何在VS2019上配置OpenCV

2023-05-16

目录

  • 前言
  • 正文
  • 1.安装Visual Studio2017/2019
  • 2.配置[OpenCV](https://so.csdn.net/so/search?q=OpenCV&spm=1001.2101.3001.7020)
    • 2.1 下载OpenCV
    • 2.2 安装OpenCV
  • 3.VisualStudio配置OpenCV
    • 3.1添加[环境变量](https://so.csdn.net/so/search?q=环境变量&spm=1001.2101.3001.7020)
    • 3.2配置项目目录
    • 3.3 配置inlcude目录
    • 3.4 配置静态库
  • 4.测试OpenCV
  • 参考

前言

由于工作的需要,需要自己在VS2019上也弄一下OpenCV的环境,之前弄过好几次,不过,弄完后,没太在意,就又得重新弄,好像在VS上就是很麻烦,不然,就得把环境给保存下来。反正一种就是每次新弄一个项目,就得重配配置环境,一种就是直接保存自己的配置文件,然后,如果下次有新建项目的,直接引入就可以了。
所以,就转载一下别人的文章,做一个保存,自己亲测可行,除了其中那个属性管理器原文说的不太对,我这里进行了修改,其他都是对的。原文链接在这: win10 + vs2017/2019 + OpenCV4.2配置OpenCV开发环境

正文

1.安装Visual Studio2017/2019

目前最新的Visual Studio版本是Visual Studio 2019,读者按喜好安装即可,我的电脑上已经安装好了VS2017,就不安装新版本了

2.配置OpenCV

2.1 下载OpenCV

登录OpenCV官网下载OpenCV
opencv
下载对应版本即可,注意4.x版本只能在64位下编译

2.2 安装OpenCV

打开下载的安装包,选择要存放的路径
我的路径是D:\Lib,这里要注意避免中文路径,否则会出错
解压
点击Extract解压即可

3.VisualStudio配置OpenCV

其实本质上和配置其他第三方库一样,将静态库配置到依赖目录中,如果是Linux系统就是写Makefile而已,在VisualStudio里就变成配置环境了

配置环境的两种方法:

  • 方法一:全局配置 是一劳永逸的方法,只用配置一次,之后每一次打开都是配置好了的;但缺点也很明显,再建一个和这个OpenCV无关的项目也会受影响
  • 方法二:配置属性表,每一次新建一个工程都需要添加一次。

3.1添加环境变量

首先要做的就是把OpenCV添加到环境变量
我的是英文操作系统 ,大概看一下吧

计算机—>属性—>高级系统属性—>高级—>环境变量
环境变量
找到Path,编辑,新建或者浏览刚刚你解压的OpenCV文件夹D:\Lib\opencv\build\x64\vc15\bin
这里x64下面有vc14vc15两个文件夹,区别是其中vc14兼容VS2015和VS2017,vc15兼容VS2017和VS2019

添加完环境变量后需要注销或者重启一下系统,否则后面怎么配都会出问题
在这里插入图片描述

3.2配置项目目录

新建一个项目或者空项目
新建空项目
先将上面Debug的X86改成X64,Opencv4.0官方不提供X86的了,如果需要应该可以自己cmake一下(没试过,不负责任的乱说的)。
然后找到属性管理器,界面上找不到的在上面“视图”栏里面选择Other Windows->属性。打开Debug|X64。

接下来可以根据方法一和方法二设则全局或者单独项目配置

  • 方法一:
    双击“Microsoft.Cpp.x64.user”打开属性页;

  • 方法二:
    打开属性管理器:
    在这里插入图片描述

  • 里面有一个属性管理器

  • 右键“Debug|X64”,选择“添加新项目属性表”,输入名字点确定即可。(这个名字建议具有明确的意义,比如我的OpenCV420DebugX64)

  • 同样也可以设置一个Release版
    Release

3.3 配置inlcude目录

双击属性页OpenCV420DebugX64,接下来开始配置目录 INCLUDE

双击属性表,在通用属性—>VC++目录—>包含目录中添加:
...opencv\build\include
...opencv\build\include\opencv2

这样就可以找到OpenCV的头文件了,接下来再把静态库设置一下就可以了
inlcude

3.4 配置静态库

配置LIB也就是静态库,就是把编译好的一些执行程序段复制到我们生成的程序里,与动态库恰恰相反,静态库可以保证我们的程序移植到没有安装OpenCV的机器上能够顺利运行

在通用属性—>VC++目录—>库目录中添加:
...opencv\build\x64\vc15\lib
在这里插入图片描述
在通用属性—>链接器—>输入—>附加的依赖项中添加:
opencv_world420d.lib
// 这行如果是在Release下也没有必要添加,带d的是Debug下使用的
opencv_world420.lib
其他版本按照自己的版本号更改数字“420”为自己对应的版本即可(420意为4.20版本)。
lib
Debug模式设置完了不要忘记Release模式也设置一边哦,不然到时候使用Release的时候就尴尬了

至此,VS2017配置Opencv4.2就算是搞定了,用方法一配置属性表的,每次创建新工程都可以不用再配置,可以直接使用。用方法二配置属性表要注意:
打开工程目录文件夹,可以看到刚刚自己设置的配置文件
配置文件
这就是我们配置的属性表,你在今后每一次新建同样的OpenCV工程的时候都需要将其复制到新工程对应的这个文件夹中。

然后再新工程的属性管理器中右键“Debug|X64”(或者属性表对应的那一个文件夹)选择“添加…”

然后再新工程的属性管理器中右键“Debug|X64”(或者属性表对应的那一个文件夹)选择“添加…”,
选择属性表
就可以了

4.测试OpenCV

上述步骤完成后,就可以再项目里使用OpenCV了
我们写一个简单的读取图像小程序测试一下
可以看到代码提示已经开启成功了
代码提示

#include <iostream>
#include <opencv2/opencv.hpp>>


int main(int argc, char* argv[]) {
    /* Read IMG.*/
    cv::Mat src = cv::imread("D://code//project//GraduateDesigin2020//TestPic//lena.jpg");

    /* Show IMG.*/
    cv::imshow("Lena", src);

    /* Convert to grey.*/
    cv::Mat gray;
    cv::cvtColor(src, gray, 6);
    cv::imshow("Gray Lena", gray);

    cv::waitKey(0);
    return 0;
}
12345678910111213141516171819

看看Lena奶奶
大功告成
大功告成,去CHH看点小姐姐压压惊
Liza小姐姐

参考

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在VS2019上配置OpenCV 的相关文章

  • 系统设计场景题—MySQL使用InnoDB,通过二级索引查第K大的数,时间复杂度是多少?

    系统设计场景题 MySQL使用InnoDB xff0c 通过二级索引查第K大的数 xff0c 时间复杂度是多少 xff1f 前言明确场景对齐表的结构分析时间复杂度执行一条 select 语句 xff0c 期间发生了什么 xff1f 分析性能
  • 《嵌入式系统》 |(四) STM32软件架构 知识梳理

    系列索引 嵌入式系统 嵌入式系统 重点知识梳理 目录 CMSIS软件架构库文件说明 CMSIS软件架构 CMSIS概述 CMSIS软件架构由四层 xff1a 用户应用层 操作系统及中间件接口层 CMSIS层和硬件层 由三部分构成 核内外设访
  • Cmake链接第三方库的三种方法

    Cmake链接第三方库的三种方法 本文介绍链接第三方库的3种方法 以OpenBLAS举例 使用的工程名称为Test lib xff08 可执行文件名字 xff09 xff0c 主程序为library c 代码中的各路径请自行替代 xff1a
  • SADP功能使用

    SADP主要使用的是链路层多播及UDP多播的原理进行实现的 1 链路层多播 span class token function socket span span class token punctuation span PF PACKET
  • MatlabR2022b + Visual Studio环境配置

    在Matlab中输入 mex setup c 43 43 命令确认MEX使用VS2022编译环境 VC 43 43 目录 包含目录 添加 D Matlab2022b extern include VC 43 43 目录 库目录 添加 D M
  • ROS小车自主导航

    在进行ROS小车自主导航时 xff0c 需要用到三维可视化软件rviz xff0c 然而出现了问题 问题 xff1a 在运行rosrun rviz rviz xff0c 导入自己导航的程序后 xff0c 需要通过2D Pose Estima
  • SIYI AK28 遥控器接收机的SBUS口与STM32通讯

    SBUS介绍 SBUS是Futaba公司定义的一种串口通信协议 xff0c Futaba的产品应用越来越广泛 xff0c 不论是航模 xff0c 无人机 xff0c 还是机器人 xff0c 遥控车 xff0c 总能有它的身影 SBUS是一个
  • 基于STM32F407四旋翼无人机---AK8975磁力计(四)

    基于STM32F407四旋翼无人机 AK8975磁力计 xff08 四 xff09 磁力计基本介绍1 2 磁力计原理图 2 磁力计数据获取3 磁力计椭球拟合校准3 1 简单介绍椭球拟合 磁力计基本介绍 该模块采用高灵敏度霍尔传感器技术 xf
  • 硬链接与软链接

    硬链接 hard link 与软链接 xff08 又称符号链接 xff0c 即 soft link 或 symbolic link xff09 链接为 Linux 系统解决了文件的共享使用 xff0c 还带来了隐藏文件路径 增加权限安全及节
  • 基于STM32F407四旋翼无人机 --- 姿态解算讲解(四元数)(叉积法融合陀螺仪数据和加速度数据)(五)

    基于STM32F407四旋翼无人机 姿态解算讲解 xff08 五 xff09 姿态解算姿态解算定义欧拉角四元数四元数性质 方向余弦矩阵四元数方向余弦矩阵 叉积法融合陀螺仪数据和加速度数据叉积运算 一阶龙格库塔法四元数更新获得欧拉角 姿态解算
  • 基于STM32F407四旋翼无人机---PID算法控制(六)

    基于STM32F407四旋翼无人机 PID算法控制 xff08 六 xff09 PID介绍PID仿真分析 PID介绍 PID介绍 此算法是由P xff08 比例 xff09 I xff08 积分 xff09 和D xff08 微分 xff0
  • 四足机器人(一)----MATLAB simulink对四足机器人物理建模

    四足机器人 xff08 一 xff09 MATLAB simulink对四足机器人物理建模 一 本设计中用的是网上下载的别人已经画好的四足机器狗的3D模型 那么我们就需要将这些3D模型导入到MATLAB的建模中 xff0c 打开MATLAB
  • 四足机器人(二)---运动学逆解和步态规划

    四足机器人 xff08 二 xff09 运动学逆解和步态规划 运动学逆解步态规划MATLAB仿真 运动学逆解 其实运动学分为运动学正解和运动学逆解 xff0c 二者有什么区别呢 xff1f 因为在四足机器人中用的是12个舵机 xff0c 所
  • 四足机器人(三)--- 姿态控制

    四足机器人 xff08 三 xff09 姿态控制 概述姿态表示使用MATLAB实现姿态控制算法效果 概述 四足机器人运动过程中 xff0c 身体部分的姿态会不断地发生变化 假如机器人的足端一直保持与地面接触且相对位置不发生变化 xff0c
  • VSCode+python+opencv搭建过程

    VSCode 43 python 43 opencv搭建过程 python安装VSCode安装安装opencv python安装 首先打开python的官网 www python org xff0c 进入python官网下载页面 xff0c
  • 智能家居之主机---计划筹备

    智能家居之主机 计划筹备 前言绪言前期构思 硬件平台结构平台 前言 绪言 感觉有一年多没发过文章了 xff0c 这一年多太忙了 xff0c 来到新的公司后要学的太多了 xff0c 代码风格 xff0c 架构 xff0c 操作系统 xff0c
  • 智能家居之主机--环境搭建

    智能家居之主机 环境搭建 硬件环境软件环境结构 硬件环境 上节说到硬件平台的搭建 xff0c 之前是在altium designer上面画好的 xff0c 现在要支持国产 xff0c 没办法只能在立创EDA上面重新画了 xff0c 有的人说
  • 智能家居之主机--驱动层搭建

    智能家居之主机 驱动层搭建 bsp 底层驱动bsp gpiobsp adcbsp uartbsp timer 伪调度 bsp 底层驱动 bsp gpio 利用一个config h的配置文件 xff0c 把所有要使用的gpio的属性配置好 x
  • STM32串口自定义数据接收协议

    文章目录 写在前面0 需求1 问题产生1 1 模块 43 上位机实验1 2 电路板串口数据接收实验1 3 问题来了 xff01 2 开始分析2 1 串口数据格式2 2 测一波波形 3 代码分析4 新的问题 xff1a 串口数据累加总结 写在
  • 科普:电池的保护电路

    科普 xff1a 电池的保护电路 http www cnbeta com articles 204504 htm

随机推荐

  • 汇编语言基础知识-寄存器

    汇编语言基础知识 寄存器 寄存器是距离CPU中最近的存储单元 xff0c 对于现代CPU其获取数据的顺序往往是 CPU 61 61 gt 寄存器 61 61 gt 一级缓存 61 61 gt 二级缓存 61 61 gt 三级缓存 61 61
  • ERROR:未定义标识符“cout“、“endl“

    ERROR情况 xff1a 未定义标识符 span class token string 34 cout 34 span 未定义标识符 span class token string 34 endl 34 span 问题原因 xff1a c
  • VSCode格式化快捷键

    Shift 43 Ctrl 43 F
  • Linux内核源代码分析一(Linux0.12)

    Linux内核源代码分析一 xff08 Linux0 12 xff09 Linux 内核主要由 5 个模块构成 xff0c 它们分别是 xff1a 进程调度模块 内存管理模块 文件系统模块 进程间通信模块和网络接口模块 1 引导启动程序 x
  • Qt类继承关系以及所属模块关系一览表

    Qt类关系一览表 高清版下载 xff1a Qt类继承关系以及所属模块关系一览表 更多内容请关注个人博客 xff1a https blog csdn net qq 43148810
  • cartographer主从机rviz订阅地图出错

    参考 xff1a https answers ros org question 261071 rviz client md5sum error ERROR 1563347805 272316618 Client rviz wants top
  • Gooseeker软件使用教程

    因为课程需要使用到Gooseeker软件 xff0c 写个使用教程防止以后忘记 安装好gooseeker软件 xff0c 下图为安装好的界面 xff1a 点击右上方的 MS谋数台 xff0c 弹出如下界面 xff1a 在左上方的网址栏输入想
  • HTTP Auth认证请求(附代理)-代码篇

    2种方式 方式一 xff1a Http请求头上添加Basic Authentication认证 httpPost httpPost addHeader Authorization 34 Basic 34 43 Base64 encodeBa
  • Makefile以及CMakelists的编辑

    1 概念 在linux中不像windows和mac有图形界面 xff0c 怎么快速的用命令行运行大型项目成为一个问题 xff0c 并且像c c 43 43 需要自己添加include文件的位置 xff0c 当文件数目变多的时候 xff0c
  • python爬虫练习1:计算评分平均值

    练习要求 xff1a 抽取某本书的前50条短评内容并计算评分的平均值 提示 xff1a 有的评论中并不包含评分 代码 xff1a span class token comment coding utf 8 span span class t
  • python爬虫练习2:取道指成分股数据

    练习要求 xff1a 在 http money cnn com data dow30 上抓取道指成分股数据并将30家公司的代码 公司名称和最近一次成交价放到一个列表中输出 代码 xff1a span class token comment
  • python中sort函数的使用

    转自https blog csdn net lyy14011305 article details 76148512 我们需要对List进行排序 xff0c Python提供了两个方法 对给定的List L进行排序 xff0c 方法1 用L
  • Python序列与文件编程练习

    练习一 xff1a 使用以下语句存储一个字符串 xff1a string 61 My moral standing is 0 98765 将其中的数字字符串转换成浮点数并输出 代码 xff1a span class token commen
  • 简单平台用户信息管理系统

    要求 xff1a 用字典创建一个平台的用户信息 xff08 包含用户名和密码 xff09 管理系统 xff0c 新用户可以用与现有系统帐号不冲突的用户名创建帐号 xff0c 已存在的老用户则可以用用户名和密码登陆重返系统 实现代码 xff1
  • DataFrame小练习

    练习要求 xff1a 已知有一个列表中存放了一组音乐数据 xff1a music data 61 the rolling stones Satisfaction Beatles Let It Be Guns N Roses Don t Cr
  • nenuacm 2019 新生训练#10 字符串处理 题解

    题目链接 Ultra Fast Mathematician 解题思路 xff1a 题目说辣么多 xff0c 其实就是将两个二进制进行异或运算 xff1a 相同位上的数字相同 xff0c 异或结果为0 xff0c 否则为1 AC代码 span
  • 比较两个字符串大小(C语言)

    比较两个字符串的大小 比较两个字符串的大小 xff0c 不许使用strcmp函数 输入格式 在两行分别输入两个长度小于20的字符串 在字符串中不要出现换行符 xff0c 空格 xff0c 制表符 输出格式 直接输出 gt 或 lt 或 61
  • 海康web3.0使用记录

    项目中集成海康web3 0控制摄像头 近期项目中的业务需求涉及播放控制实时监控 xff0c 采用了海康web3 0的开发包 xff0c 开发包规范是32位IE11浏览器 xff0c 业务前期本来只是播放rtsp流的监控 xff0c 所以采取
  • 字符串与数字范围

    当字符串由数字组成时 xff0c 告诉你字符串的长度是length xff0c 意味着变成数字时最大会达到10length 1 比如告诉字符串长度最长为105 xff0c 那要注意数字可以达到10的105 1次方 xff0c 大约是1010
  • 如何在VS2019上配置OpenCV

    目录 前言正文1 安装Visual Studio2017 20192 配置 OpenCV https so csdn net so search q 61 OpenCV amp spm 61 1001 2101 3001 7020 2 1