Windows10下用Vscode配置OpenCV (解包即用版)

news2024/11/25 12:25:03

Windows10下用Vscode配置OpenCV (解包即用版)

维基百科:

  OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。

前言:

  本篇文章主要用来记录使用vscode配置opencv的全过程,在整个过程中需要用到的工具包括vscode安装包、MinGW-w64和opencv的源码。vs studio配置opencv比较简单,opencv官网中已经有用vs studio编译器编译好的opencv库。但是对于vscode而言,不能直接使用利用vs studio编译器编译好的opencv库,因此需要借助MinGW-w64和CMake工具对opencv源码重新进行编译。这个重新编译的过程可以说得上是遍地大坑,所以本文配备了作者已编译好的成品,读者可以解包即用。

  再有就是相对又大又重的vs studio,轻量级的vs code无疑不是一个更好的选择,我们可以根据自己所需,弹性配置成自己中肯的开发平台。

  

一、前期文件准备

下载vscode

官网下载即可,就不叙述了,win10选择x86版本,一路next即可
本文vscode安装到了D盘,这个路径无关紧要

win10环境下vscode运行opencv(C++)(解压即用)-1号包

.vscode.zip  为vscode配置文件
MinGw.zip    vscode为编辑器,并没有编译功能,所以要借助MinGW中的GCC/G++编译C/C++程序
dll.zip      为.exe文件运行时的依赖文件

win10环境下vscode运行opencv(C++)(解压即用)-2号包

opencv  环境已生成的最终版————解包即用
  • 解压两个包
  • 资源直接上传到CSDN了,作者设置了0积分下载,但是测试时发现好像只能自动下载一次,第二次需要完成平台的任务,不过可以选一个简单的任务完成并获取下载码,也就不到一分钟即可。——主要CSDN资源下载不限速,不像某度云,不嗑真不让人下载。

  

二、MinGw.zip和opencv

  把MinGw.zip解压后和opencv,放到F盘根目录。(作者强烈建议这个路径与本文一致,这样后续配置文件无需修改,直接用即可)

在这里插入图片描述

添加环境变量

F:\opencv\build\x64\vc15\bin

F:\opencv\build\x64\MinGw\bin

F:\MinGw\bin

注意:最后一定不要忘记每步点击确定

在这里插入图片描述

  

三、vscode配置

  • 打开vscode,安装插件。注:安装过程中可能会要求重启软件,照做即可

在这里插入图片描述

  • 取消vscode的自动更新,因为其更新会覆盖(还原)安装目录,我们今后写的程序和配置文件都放在安装目录下。日后如果要更新vscode,将需要的进行备份后,手动更新。(个人习惯)

在这里插入图片描述

  • 现在我们可以在安装目录中新建一个文件夹,如OpenCV用来当作工作区目录。

在这里插入图片描述

  • 之后把.vscode文件拷贝到其中,并新建cppDebugger 文件夹,分别存放我们写的源程序和.exe、依赖文件。

在这里插入图片描述

  • 之后再把dll.zip解压后的依赖文件拷贝到Debugger

在这里插入图片描述

  • 最后在vscode中 文件->打开文件夹 —— 选择OpenCV

在这里插入图片描述

  

四、测试

我们在cpp目录下新建源程序,这里给出一个调用摄像头的样例和一个显示图片的样例,可自行测试。

F5运行

  • 摄像头样例
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main() {
    VideoCapture cap(0);
    Mat img;
    while (1) {
        cap >> img;
        if (img.empty())  break;
        namedWindow("img", WINDOW_NORMAL);
        imshow("img", img);
        if (27 == waitKey(20))  break;
    }
    return 0;
}

在这里插入图片描述

  • 图片样例
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main() {
    Mat img = imread("D:\\Microsoft VS Code\\OpenCV\\cpp\\G.png");
    resize(img, img, Size(500, 500));
    imshow("img", img);
    waitKey(0);
    system("pause");
    return 0;
}

在这里插入图片描述

  • 如果程序一直运行不弹终端,或显示参数错误:则注释settings.json 。这也是作者遇到vscode新版本的一个坑,不注释掉这两行,程序一直运行不出结果。

在这里插入图片描述

在这里插入图片描述

注释后勿忘保存

如果您感觉这篇文章对您有所帮助,请点赞支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/102106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三、详细功能

详细功能 1.去除不同数据库间重复的文献&#xff1a;Reference->Find Duplicates &#xff08;1&#xff09;找到4篇重复的文章&#xff1a;Keep this record可以一篇篇的保留、删除 &#xff08;2&#xff09;按Cancel再按ctrl找到所有重复&#xff1a; &#xff08;3&am…

长达22643字的博客:自定义游戏三子棋超详细解说手把手式教学,人机大战,PVP玩家对战功能制作详解

&#x1f992;这个游戏相信大家都听过&#xff0c;三子棋&#xff0c;不就是井字棋吗&#xff1f;那么今天我们就来亲手制作一个三子棋游戏&#xff0c;实现人机“智能”大战以及玩家PVP对战。 &#x1f412;三子棋的基本功能构思 &#x1f992;面对一个较大的游戏程序我们要做…

(附源码)Springboot社区疫情防控管理系统 毕业设计 164621

Springboot 社区疫情防控管理系统 摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对社区疫情…

校园生活互助网站

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 体智慧校园生活互助系统主要实现以下功能&#xff1a; (一)网站前台&#xff1a;关于我们、联系我们、公告信息、求助信…

DataGear 添加 Http 数据集是请求头 JSON 的格式说明

背景 玩了一下 DataGear &#xff0c;添加了一个 Http 接口的数据集&#xff0c;由于目标接口请求必须包含 Token 信息&#xff0c;所以按照配置提示添加 JSON 格式的头信息时&#xff0c;想象成了 JSON 对象&#xff0c;结果预览请求始终报错。 DataGear 的后台异常信息&…

【JUC】JMM内存模型

JMM是什么 JMM是Java内存模型&#xff0c;也就是Java Memory Model&#xff0c;简称JMM&#xff0c;本身是一种抽象的概念,并不真实存在&#xff0c;它描述的是一组规则或规范&#xff0c;通过这组规范定义了程序中各个变量&#xff08;包括实例字段&#xff0c;静态字段和构成…

Graphviz 排版思路 Graphviz 如何控制节点位置

有个画图需求是需要生成特定排版的关系图。 graphviz 对于一般情况都是自动排的&#xff0c;有时候会抽风&#xff0c;比如这种情况&#xff1a; 而我们想要这样&#xff1a; 对初学者提一下 &#xff0c;如何实现 3 2 5 &#xff0c;1467 从左到右排列呢&#xff1f;待会会顺…

HTML小游戏18 —— html5版街头霸王游戏(附完整源码)

&#x1f482; 网站推荐:【神级源码资源网】【摸鱼小游戏】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】&#x1f4ac; 免费且实用的计…

【Three.js】Three.js快速上手教程

1. Three.js简介 官网对 Three.js 的介绍非常简单&#xff1a;“Javascript 3D library”。 即&#xff1a;three.js是JavaScript编写的WebGL第三方库。提供了非常多的3D显示功能&#xff0c;是一个常见的web 3D库。 相关概念解释&#xff1a;three.js > webGL > openG…

QT QTabWidget 控件 使用详解

本文详细的介绍了QTabWidget控件的各种操作&#xff0c;例如&#xff1a;新建界面、设置页面名字、设置提示信息、设置页面激活、设置标题栏位置、设置页面关闭按钮、设置页面关闭按钮、获取页面下标、获取页面总数、清空所有页面、删除某个页面、设置拖拽移动、设置显示页面、…

全国职业技能大赛网络安全-金砖技能大赛——应急响应内存镜像分析(超详细解析)

全国职业技能大赛网络安全-金砖技能大赛——应急响应内存镜像分析&#xff08;超详细解析&#xff09; 背景&#xff1a;作为信息安全技术人员必须能够掌握内容镜像分析、重要数据恢复、 恶意文件分析等相关技能&#xff0c;利用这些技能我们能够第一时间分析相关恶意文件、 分…

美少女怒肝20天用C语言写出的排序集合

文章目录 排序的概念一、常见的排序算法二、代码实现总结排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在…

作为前端,你是否了解链表这种数据结构?

在面试中只要被问到React Hooks就常被问到为什么Hooks不能在循环和条件判断嵌套函数当中使用&#xff1b;相信很多人都知道标准答案&#xff0c;【因为声明的Hooks保存在链表当中】&#xff0c;但是你真的知道链表吗&#xff1f; 什么是链表 我们先看来看一个简单的单向链表结…

华为珍藏版:SpringBoot全优笔记,面面俱到太全了

前言 作为开发人员&#xff0c;对于Spring全家桶肯定是不陌生的&#xff0c;而来自于Spring大家族的Spring Boot&#xff0c;作为Spring团队提供的流行框架&#xff0c;它的存在解决的Spring框架使用较为繁琐的问题&#xff0c;所以掌握SpringBoot是精通Spring必不可少的一个过…

[附源码]Python计算机毕业设计Django血库管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

[附源码]计算机毕业设计Node.js-Bigbaby美食网站(程序+LW)

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

《Go语言并发之道》读书笔记

《Go语言并发之道》第一章&#xff1a; 并发概述第二章&#xff1a;对你的代码建模&#xff1a;通信顺序进程第三章&#xff1a;GO语言并发组件由于不怎么熟悉GO&#xff0c;只做简单的摘录&#xff0c;敲敲示例代码 鸭子类型&#xff1a;当看到一只鸟走起来像鸭子、游泳起来像…

微服务框架 SpringCloud微服务架构 多级缓存 49 缓存同步 49.3 监听Canal

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 多级缓存 文章目录微服务框架多级缓存49 缓存同步49.3 监听Canal49.3.1 Canal 客户端49 缓存同步 49.3 监听Canal 49.3.1 Canal 客户端 C…

深耕无线通讯细分领域 可信华成产品受市场青睐

深圳市可信华成通信科技有限公司&#xff08;以下简称可信华成&#xff09;&#xff0c;成立于2010年&#xff0c;是一家在无线通信领域中崛起的集研发、智能制造、销售为一体的国家高新技术企业&#xff0c;深圳市专精特新企业&#xff1b; 注册资金2200万元&#xff0c;员工8…

【图像压缩】余弦变换及霍夫曼编码jpeg压缩和解压【含Matlab源码 2086期】

⛄一、DCT图像无损压缩简介 1 图像压缩 图像压缩按照压缩过程中是否有信息的损失以及解压后与原始图像是否有误差可以分为无损压缩和有损压缩两大类。无损压缩是指不损失图像质量的压缩&#xff0c;它是对文件的存储方式进行优化&#xff0c;采用某种算法表示重复的数据信息&a…