目录

  1. Opencv安装、环境变量配置
  2. Visual Studio 库的两种配置

本文使用操作系统为Windows10,仅适用于windows环境Visual Studio编译器上的 Opencv开发配置。Opencv所有平台通用的配置方式是从官网下载源码,然后使用CMake编译成对应平台的库,比如Windows平台,使用CLion IDE + gcc配置Opencv,就需要用CMake + gcc将源码编译成库文件,然后然后CLion才可以配置并使用这些库(主要保持编译器版本匹配)。看起来很麻烦对吧,但有一个例外,那就是Visual Studio编译器,Opencv官方提供了该编译器的Opencv预编译库,不需要自己编译。所以在windows上可以使用VS的小伙伴不要自己编译库了,麻烦又容易出错

Opencv安装、环境变量配置

请在官网下载符合你要求的版本,Releases - OpenCV,下载的是压缩包,双击解压即可,无需像类似应用程序安装一样的步骤,解压目录既是库的保存目录。

接下来需要配置动态库的环境变量,在刚才的解压目录中找到“opencv\build\x64\vc15\bin”,这是Opencv动态库的位置,因为我下载的是64位Opencv,所以去x64。在目前最新的4.6版本中,提供了vc14和vc15两个版本,这表示编译库使用的msvc(VS编译器)版本,vc15对应msvc2017。自己使用VS版本应当大于vc版本,我使用的是VS2019,所以配置vc15的库。

现在需要配置系统环境变量了,将刚才bin目录“E:\Opencv_4.6.0\opencv\build\x64\vc15\bin”(本文是这个目录)添加到Path中,很多人都是这样配的,但我推荐另一种。请在系统变量中增加“OPENCV_DIR”,它的目录是“E:\Opencv_4.6.0\opencv\build\x64\vc15“,然后将“%OPENCV_DIR%\bin”加入Path,为什么要多这一步呢?在VS中配置Opencv库时,我们将使用“OPENCV_DIR”代替“E:\Opencv_4.6.0\opencv\build\x64\vc15”,不仅VS中可以这样代替,整个系统中都是可以的,一旦库的位置发生变动或者更改库,只需要修改“OPENCV_DIR”即可。

Visual Studio 库配置

 不仅适用VS Opencv配置,其他库的配置过程也是如此。这里很多博客做了误导,或者有一些不必要步骤,其实只需要三步:包含目录、库目录、附加依赖项。但也有两种配置方式,同学们任选一种即可。

配置方式一

创建一个VS项目,点击”项目“——>”属性“,打开项目配置属性页,”VC++目录“——>”包含目录“,将头文件目录”E:\Opencv_4.6.0\opencv\build\include“写入。前文说过这里的写法是”$(OPENCV_DIR)\..\..\include“,”..\“表示上一级目录。然后配置”VC++目录“——>”库目录“,这里写入静态库和动态库的目录“$(OPENCV_DIR)\lib”。最后,“链接器”——>“输入”——>“附加依赖项”,这里写入项目将调用的具体库名称,Opencv已经将整合为一个静态库文件“opencv_world460.lib”,可以在“opencv\build\\x64\vc15\lib”看到,相信大家也看到了“opencv_world460.lib”命名规律。现在配置好了吗?

哦,对了,属性页最上面的配置管理器,我在这里Release/x64,那么换成Debug/x64呢,刚才的配置就没了,因为开发程序Debug和Release都要,所以还得配置DeBug。步骤和要填的目录都一样,但有一个细微的不同之处,“附加依赖项”填入“opencv_world460d.lib”,带d.lib在Debug模式使用,不带d.lib在Release模型使用。由于库是64位的版本,所以只在x64运行。

配置方式二

配置的第一个属性换成“C/C++”——>“常规”——>“附加包含目录”,与方法一中“包含目录”含义和目录一样;第二个属性换成“链接器”——>“常规”——>“附加库目录”,第三个属性同上。

好了,配置完成了,找个代码测试一下吧。

#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;

int main()
{
    Mat image;
    image = imread("D:/VScode/luna.jpg", 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;
}

参考博文:Visual Studio 下配置属性页的一些说明_晚安丶的博客-CSDN博客

如有帮助,欢迎点赞 

Visual Studio + Opencv配置相关推荐

  1. Win7系统Visual Studio 2013配置OpenCV3.1图文详解

    Win7系统Visual Studio 2013配置OpenCV3.1图文详解 OpenCV3.1对硬件加速和移动开发的支持相对于老版本都有了较大改进,支持新的开发工具,更易于扩展,配置方式也比以前简 ...

  2. 使用Visual Studio+OpenCV进行的Susan算子边缘检测及数米粒图像处理实验

    一.实验内容 用计算机视觉的方法数米粒. 二.实验目的及意义 计算机视觉的应用非常广泛,本实验就是让同学们对计算机视觉技术的应用有一个简单的了解. 1.了解计算机视觉的实验环境.本实验选用的是 VS+ ...

  3. OpenCV安装教程:Windows 安装 Visual Studio + OpenCV + OpenCV contrib

    目录 0.写作背景 1.安装visual studio 2.下载OpenCV相关的源码 下载OpenCV原始的源码 下载OpenCV contrib的源码 下载安装cmake 3.cmake编译Ope ...

  4. 【错误记录】Visual Studio 中配置 NDK 头文件路径 ( NDK 的三个头文件路径 | 与 CPU 架构相关 asm 头文件路径选择 )

    文章目录 一.报错信息 二.解决方案 1.NDK 的三个头文件路径 2.与 CPU 架构相关 asm 头文件路径选择 一.报错信息 参考 [Android 逆向]Android 进程注入工具开发 ( ...

  5. 在Visual Studio Code配置GoLang开发环境

    在Visual Studio Code配置GoLang开发环境 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs Visu ...

  6. visual studio编译linux,在 Visual Studio 中配置 Linux MSBuild C++ 项目

    在 Visual Studio 中配置 Linux MSBuild C++ 项目Configure a Linux MSBuild C++ project in Visual Studio 10/16 ...

  7. 小白Mac C/C++ for Visual Studio Code配置

    小白Mac C/C++ for Visual Studio Code配置 一. VS Code安装 VS Code官网下载地址 (下载完成后是英文的,自己在插件管理里面下载个语言包) C/C++ fo ...

  8. visual studio 2022配置GAMP出现realloc不能开辟空间问题和不能够创建文件夹问题及其解决方法

    visual studio 2022配置GAMP出现realloc不能开辟空间问题和不能够创建文件夹问题及其解决方法 因在处理相关数据时,需要动态给指针开辟内存,使用了realloc进行开辟内存空间, ...

  9. Visual Studio Code 配置 Java开发环境

    第一步:下载vscode 官网:Visual Studio Code - Code Editing. Redefined 第二步:下载Java     官网:Java Downloads | Orac ...

最新文章

  1. bert推理速度太慢如何解决
  2. CSS2.0中文手册(CHM版)
  3. 在局域网访问_管理Windows访问凭证,快速访问局域网上的共享资源
  4. 从顶会论文看多模态预训练研究进展
  5. codeblocks、wxWidgets环境配置
  6. 关于微信小程序的的总结
  7. android ble 助手源码_[源码和文档分享]基于Android的生活助手APP的设计与实现
  8. update empty content to text instance - where is B mode changed to D by frame
  9. [转载] 如何用一个Python示例入门TensorFlow?
  10. Netty in action—第一个Netty应用
  11. pytorch查看模型weight与grad
  12. 基于android的电影售票APP,基于Android的在线电影售票系统.doc
  13. solidworks做动态静力学分析Motion(牛头刨床为例)机械原理课设(停止中断)
  14. c语言jt808协议库,部标JTT808协议快速开发包
  15. python最近广告_腾讯2018广告算法大赛思路解析(python)
  16. CVPR'22 最新132篇论文分方向整理|包含目标检测、图像处理、医学影像等28个方向...
  17. Bootstrap 3 学习
  18. 震惊了!鸿蒙又多了一种开发方式Ets,让更多的人赶上红利!
  19. 计算机及相关经典书籍收集
  20. 鸿蒙OS内核分析|解读鸿蒙源码

热门文章

  1. 美国独立服务器的用法
  2. 西门子S7-200PLC入门及介绍
  3. 75道阿里Java面试题,你能答上几道?微服务面试题
  4. 【信息安全案例】——应用软件安全(学习笔记)
  5. 阿里云服务器开服教程,用于我的世界等局域网联机
  6. 美债危机再讨论--》债务危机的本质是流动性短缺
  7. iptables命令使用详解
  8. MATLAB矩阵运算函数
  9. VScode英文转中文版
  10. FFmpeg之位图格式转换(三十一)