WSL2+VSCODE+OPENCV

2023-05-16

在网上能找到WSL和VSCODE的配置方法,能找到VSCODE和opencv的使用方法,能找到WSL和opencv的配置方法,但很少有wsl+vscode+opencv,但描述不清、关键细节一带而过。只好自力更生,把它们搞定。

一、前期准备

这方面不展开说了,本人前面的文章里有详细说明

1.wsl2安装

WSL2安装

2.wsl下安装可视化界面

WSL2安装Xfce4可视化GUI界面,这个一定要装,opencv打开图像窗口要用

3.wsl+vscode

在WSL2下使用VSCode编写C++程序

4.wsl下安装opencv

安装opencv网上教程很多,参考:WSL:安装OpenCV开发环境

安装成功且编译完成后,要将opencv的lib文件夹下的内容拷贝到linux下usr/local/lib文件夹里。

二、联合编程

按照以上步骤安装完毕后,

1.在window下运行XLaunch软件

2.建立工作区workspace

本例为test

3.写程序

给工作区添加文件test.cpp,并将写入以下代码

#include <iostream>
#include "opencv4/opencv2/opencv.hpp"
#include "opencv4/opencv2/highgui.hpp"
#include "opencv4/opencv2/imgproc.hpp"

using namespace std;
using namespace cv;

int main()
{
    cout << "This is an OpenCV programm in Linux system." << endl;

    Mat img = imread("snap1.jpg");
    // Mat img = imread("1.bmp");
    imshow("OpenCV Test", img);

    waitKey(0);

    return 0;
}

3.直接F5运行,按下图选择编译器

4.出现错误,不用担心,停止调试程序,vscode已自动生成配置文件task.json,打开它,在”args"子项里加入一行编译参数:"`pkg-config --libs --cflags opencv4`",注意双引号内层有单引号,task.json内容如下:

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ 生成活动文件",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
                "`pkg-config --libs --cflags opencv4`"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

 5.重新运行程序(F5)

完美打开图像。

重要的信息再提示一遍

1.linux下:把opencv的lib文件,都拷贝到usr/local/lib文件夹下

2.vscode:task.json文件的args子项里,添加一行 "`pkg-config --libs --cflags opencv4`"。

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

WSL2+VSCODE+OPENCV 的相关文章

  • 查找彼此接近的对象边界

    我正在研究一个计算机视觉问题 其中问题的第一步是找到物体彼此靠近的位置 例如 在下图中 我感兴趣的是找到灰色标记的区域 Input Output 我目前的方法是首先反转图像 然后通过侵蚀进行形态梯度跟随 然后删除一些不感兴趣的轮廓 脚本如下
  • 计算两个描述符之间的距离

    我正在尝试计算已计算的两个描述符之间的距离 欧几里得或汉明 问题是我不想使用匹配器 我只想计算两个描述符之间的距离 我正在使用 OpenCV 2 4 9 并且我的描述符存储在 Mat 类型中 Mat descriptors1 Mat des
  • OpenCV:视频结束后如何重新启动?

    我正在播放视频文件 但播放完毕后如何再次播放 Javier 如果您想一遍又一遍地重新启动视频 也称为循环播放 可以通过在帧数达到时使用 if 语句来实现cap get cv2 cv CV CAP PROP FRAME COUNT 然后重置帧
  • 相机标定(OpenCV 2.3)-如何使用畸变参数?

    我有一组带有一些附加标记的刚体图像 我在这些标记之一中定义了一个原点坐标系 我想获得该坐标系与在相机原点定义的坐标系之间的旋转和平移 我尝试了一段时间 POSIT 以下this http goo gl cUYYt 但从未获得可接受的结果 直
  • 来自 OpenCV 的外部参数

    我正在使用 OpenCV 来校准立体相机对 我拍摄了各种校准照片 并且使用 cv2 calibrateCamera 对内在参数进行了令人满意的拟合 然而 目前尚不清楚如何获取外部参数 该函数仅返回cameraMatrix 尽管它很有用 但实
  • 提高 pytesseract 从图像中正确识别文本的能力

    我正在尝试使用读取验证码pytesseract模块 大多数时候它都能提供准确的文本 但并非总是如此 这是读取图像 操作图像以及从图像中提取文本的代码 import cv2 import numpy as np import pytesser
  • 如何删除树莓派的相机预览

    我在我的 raspberryPi 上安装了 SimpleCv 并安装了用于使用相机板的驱动程序 uv4l 驱动程序 现在我想使用它 当我在 simpleCV shell Camera 0 getImage save foo jpg 上键入时
  • 如何计算图像中的 RGB 或 HSV 通道组合?

    我使用 python opencv 加载形状为 30 100 3 的图像 现在想要按颜色计算所有颜色的频率 我不是指单个通道 而是指通道组合 含义 3 个频道列表 例如 255 0 0 表示红色 255 255 0 表示黄色 100 100
  • 使用Python的工业视觉相机[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 来自连接到远程机器的相机的 Opencv 流

    我正在用 python 开发一个 wx 应用程序 用于流式传输和显示来自两个不同网络摄像头的视频 这工作正常 但现在我需要在不同的场景中执行此操作 其中两个摄像头连接在通过网络连接的 Windows 上运行的单独计算机中 我的应用程序将在机
  • BASH 脚本编译多个 C++ 文件 - OpenCV

    请参见在C 和OpenCV中调用其他文件中的函数 https stackoverflow com questions 24442836 call functions in other files in c and opencv 对于最初的问
  • 指纹奇异点检测

    我正在尝试确定指纹的核心点和增量点 我正在使用庞加莱指数方法 但我无法成功检测到这一点 而且我不明白为什么 First I divide the image in 15x15 blocks then I calculate the x an
  • OpenCV Visual Studio ntdll.dll

    我尝试在 Visual Studio 2013 上使用 OpenCV 2 4 10 创建一个项目 但由于以下异常 到目前为止我运气不佳 请建议帮助 TIA letstryitonemoretime exe Win32 Loaded C Us
  • 如何去除给定图像中的噪声,使 ocr 输出完美?

    我已经对这个孟加拉文本图像进行了大津阈值处理 并使用 tesseract 进行 OCR 但输出非常糟糕 我应该应用什么预处理来消除噪音 我也想校正图像 因为它有轻微的倾斜 我的代码如下 import tesserocr from PIL i
  • uri 警告中缺少端口:使用 Python OpenCV cv2.VideoCapture() 打开文件时出错

    当我尝试流式传输 ipcam 时 出现了如下所示的错误 tcp 000000000048c640 uri 中缺少端口 警告 打开文件时出错 build opencv modules videoio src cap ffmpeg impl h
  • 如何使用 opencv python 计算乐高积木上的孔数?

    我正在开发我的 python 项目 我需要计算每个乐高积木组件中有多少个孔 我将从输入 json 文件中获取有关需要计算哪个程序集的信息 如下所示 img 001 red 0 blue 2 white 1 grey 1 yellow 1 r
  • 如何将 Mat (opencv) 转换为 INDArray (DL4J)?

    我希望任何人都可以帮助我解决这个任务 我正在处理一些图像分类并尝试将 OpenCv 3 2 0 和 DL4J 结合起来 我知道DL4J也包含Opencv 但我认为它没什么用 谁能帮我 如何转换成 INDArray 我尝试阅读一些问题here
  • 如何使用 opencv.omnidir 模块对鱼眼图像进行去扭曲

    我正在尝试使用全向模块 http docs opencv org trunk db dd2 namespacecv 1 1omnidir html用于对鱼眼图像进行扭曲处理Python 我正在尝试适应这一点C 教程 http docs op
  • OpenCV:如何从网络摄像头获取原始 YUY2 图像?

    你知道如何获得吗raw YUY2来自网络摄像头的图像 使用 OpenCV DirectShow 无 VFW http opencv willowgarage com wiki CameraCapture http opencv willow
  • 如何在 cv2.VideoWriter 中使用 FPS 参数?

    好的 所以我正在制作视频 我想确切地知道如何使用 FPS 参数 它是一个浮点数 所以我假设这是我想要的每帧之间的间隔 你能给个例子吗 我只想知道视频会如何随着 FPS 参数值的变化而变化 因为我制作的视频现在太快了 谢谢 确实只是这样 fr

随机推荐

  • JS编写的科学计算器

    文章为原创 xff0c 转载请注明出处 xff0c 谢谢支持 xff01 进阶版代码地址 xff1a https github com Summer Dong calculator 在此版本中使用了Angular框架和Boostrap xf
  • 安装使用JPEG库遇到的问题(用于交叉编译)

    使用JPEG 官方解码库时出现的问题 xff1a 使用example c 接口编译时 xff1a 1 错误 ubuntu mnt hgfs GZ1961 linux系统文件IO day15 newjpeg gcc main c exampl
  • TP4056 充电电路学习借鉴

    最近计划的一个 DIY 项目有安排充放电锂电池 xff0c 于是搜集了两个比较相似的方案 xff0c 借鉴学习一下 一 TP4056单节锂电池充电板设计方案 原理图 43 源码 顺带说 xff0c 电路城 这个网站还是比较有意思的 xff0
  • WSL2 安装 GUI,并使用 XRDP实现连接(内含汉化操作)

    效果图 随着 wsl2 的发布 xff0c wsl 已经从玩具变成了一个实用的开发利器 xff0c 从最新的微软开发者博客对 wsl 的路线发展规划 xff0c 未来 wsl 将会支持 GPU 计算和 GUI xff08 点此了解详情 xf
  • V4L2打开video设备注意(读写权限)

    V4L2编程中在open 34 dev video 34 时应注意 xff1a 摄像头采集到的数据是最开始是存储在内核空间我们申请的缓冲区中的 xff0c 具体设置如下 xff1a req count 61 5 req type 61 V4
  • mysql 分组取最新的一条记录(整条记录)

    mysql取分组后最新的一条记录 下面两种方法 一种是先筛选 出最大和最新的时间 在连表查询 一种是先排序 然后在次分组查询 默认第一条 就是最新的一条数据了 xff08 此条错误 xff0c 分组mysql官方文档说明 是随机选择分组的一
  • 数据结构:回文判断

    7 1 回文判断 回文是指正读反读均相同的字符序列 xff0c 如 abba 和 abdba 均是回文 xff0c 但 good 不是回文 编写一个程序 xff0c 使用栈判定给定的字符序列是否为回文 输入格式 输入待判断的字符序列 xff
  • Proxmox VE /Debian /Ubuntu 设置合上笔记本盖子不休眠的方法

    书接上回和上上回 众所周知 xff0c 服务器是没有AB面的 xff08 KVM当然不算了 xff09 xff0c 燃鹅笔记本有 xff0c 不能让屏幕一直打开亮着吧 xff0c 但是默认都是关闭盖子休眠 xff0c 咋办呢 i i xff
  • 实例解说Linux中fdisk分区使用方法

    实例解说Linux中fdisk分区使用方法 一 fdisk 的介绍 xff1b fdisk Partition table manipulator for Linux xff0c 译成中文的意思是磁盘分区表操作工具 xff1b 本人译的不太
  • ROS 新建py项目并添加话题发布

    目录 一 ros下新建py项目 二 调试运行代码 三 新建话题订阅 发布 一 ros下新建py项目 1 建立工作空间 mkdir ros workspace cd ros workspace mkdir src 2 初始化工作空间 cd到r
  • CCF认证期末预测之最佳阈值

    期末预测之最佳阈值 题目描述 具体来说 xff0c 顿顿评估了 m m m 位同学上学期的安全指数 xff0c 其中第 i 1
  • CCF元素选择器

    思路 fat数组保存其直接祖先 include lt bits stdc 43 43 h gt using namespace std const int maxn 61 105 int n m fat maxn dot maxn stri
  • ICU4C 介绍: C/C++ 平台强大的国际化应用开发组件

    ICU4C 介绍 C C 43 43 平台强大的国际化应用开发组件 荣 施李 shilirong 64 gmail com 软件工程师 EMC 简介 xff1a 随着全球经济快速一体化 xff0c 信息的国际化成为了当前热门的话题 xff0
  • Java数据类型的转换:隐式(自动)转换与强制转换

    一 数据类型的分类 Java 中数据类型分为基本数据类型及引用数据类型 Java 数据类型的转换一般分三种 xff0c 分别是 xff1a 简单数据类型之间的转换 xff1b 字符串与其它数据类型的转换 xff1b 其它实用数据类型转换 二
  • java通用方法equals、hashcode的重写注意事项

    最近在读effictive java这本书 xff0c 看到关于java通用方法重写时的某些规则 xff0c 又想起项目中重写bean的equals方法 xff0c 仔细一想确实有很多不正确的地方 xff0c 所幸项目中的那个对象使用频率低
  • 正则表达式基础

    正则表达式其实算是单独的技术 xff0c 在各个语言中细微的区别 xff0c 但本质上是一致的 xff0c 都是用来描述和匹配符合某个规则的语法的字符串呗 当要验证符合某些规则 xff0c 例如邮件地址什么的 xff0c 使用起来就很方便
  • java并发、多线程知识点

    1 线程实现方法 即实现runnable接口或者继承thread类 xff0c 由于java是单继承机制 xff0c 所以一般采用实现runnable接口的方法 public class LiftOff implements Runnabl
  • 光的基础知识

    光子的产生 光子是电磁辐射的基本粒子 xff0c 它是由电场和磁场相互作用而产生的 当电场和磁场发生变化时 xff0c 它们会相互影响并产生能量 xff0c 这个能量以光子的形式释放出来 例如 xff0c 当电流通过导体时 xff0c 电子
  • Ubuntu 11.10 下ARM 用 TFTP Server 下载程序

    Update 2012 12 16 补充1 xff1a 不安转xinetd来搭建 sudo apt get install tftpd hpa tftp hpa 配置文件内容如下 xff1a cat etc default tftpd hp
  • WSL2+VSCODE+OPENCV

    在网上能找到WSL和VSCODE的配置方法 xff0c 能找到VSCODE和opencv的使用方法 xff0c 能找到WSL和opencv的配置方法 xff0c 但很少有wsl 43 vscode 43 opencv xff0c 但描述不清