ubuntu18.04安装vscode和opencv的新手自己的哔哔叨叨

2023-05-16

这篇是给自己记录以下我的安装过程,完全没有理论依据,自己摸索的,大佬止步。有需要和我一样新手可参考一二。不保证成功哦。

首先介绍以下我的环境
我装得是ubuntu和windows的双系统,ubuntu版本是18.04的
自己是刚开始使用linux系统,所以以下内容全为自己摸索,如果有错误,望指正。

一、opencv安装

(1)首先需要下载opencv库,官网下载opencv,下载链接http://opencv.org/releases.html,选择sources版本。这里我自己下载的是3.4.11的版本
下载完成后,我为了方便将它放在主目录下面,因为好写地址

(2)不论你下载到哪里了请你先解压,有图标的直接右击,提取到…。或者通过终端解压,输出下面内容。

cd XXX
unzip opencv-3.4.6.zip

(3)然后安装一些其他,这里提示一下没用过终端的,这里复制时一行行复制哦,还有复制到终端后粘贴是 shift+ctrl+v才是粘贴。否则粘贴不上。
还有如果gcc g++等失败的同学们,请先下载gcc和g++哦这里我之前就有安装,所以不详细介绍了。需要的自行查帖子。

sudo apt-get update
sudo apt-get install vim
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install cmake
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install gfortran
sudo add-apt-repository “deb http://security.ubuntu.com/ubuntu xenial-security main”
sudo apt-get update
sudo apt-get install libjasper1 libjasper-dev

(4)进入到解压后的文件包中,创建编译文件夹

cd XXX/opencv-3.4.11
mkdir Release
cd Release

注:这里的xxx就是你的解压后安装包的路径,这里我偷懒将它放在主目录下,所以路径为/home/cmf,所以我写的时候写为 cd /home/cmf/opencv-3.4.11即可,根据各位的位置自己写好哦。

(5)CMAKE

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local …

注:在这一步我没有出现问题,出现问题的朋友移步最下方连接哦

(6)MAKE

sudo make

(7)最后安装

sudo make install

(8)执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

sudo gedit /etc/ld.so.conf.d/opencv.conf

执行此命令后打开的可能是一个空白的文件(可能报错),不用管,只需要在文件末尾添加

/usr/local/lib

注意:就是复制上面那一句在弹出来的文档中即可。
然后执行下面语句才能生效。这里我自己出现了错误,没有错误的就可以执行下一步了。

sudo ldconfig

在这里插入图片描述
我出现的问题及解决方案:在sudo ldconfig时遇到类似usr/local/cuda-8.0/lib64/libcudnn.so.5 不是符号连接的问题,这里参考连接以及连接2

(9)配置bash

sudo gedit /etc/bash.bashrc

然后在弹出来的文档最后加如下两句

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

然后不要忘记保存

source /etc/bash.bashrc

(10)最后更新

sudo updatedb

然后不要关闭窗口,直接输入下面内容测试一下

cd …
cd samples
cd cpp
cd example_cmake
cmake .
make
./opencv_example

只要能看到弹窗就说明可以拉。

Vscode安装调试

然后opencv这块就结束了,接下来就是进行vs的下载安装和调试

(1)首先下载好gcc g++,之前下载过的就不用拉

sudo apt-get update
sudo apt-get install gcc
sudo apt-get install g++

(2)然后下载vscode这里建议参考这个连接执行vscode安装,还是不可以的请参照最下面的连接自己再研究一下哈,这里不再赘述了。

然后就是最最重要的配置问题

(3)安装c/c++插件(都必须有),这里看到左边数列的图标中最下面的那个,点击后在搜索框中搜索c/c++,即可看到,然后点击install进行安装即可。
在这里插入图片描述
(4)建立工程(都必须有)

  • 由于VScode是以文件夹的形式管理工程的,因此我们首先新建一个文件夹,这里要说一下,这里需要你自己找一个你觉得合适的位置,自己新建一个文件夹,并且为这个文件夹起名字,记住它的位置。
  • 然后打开vscode看左上角,然后通过VScode打开此文件夹:File→Open Folder
    然后右击新建一个文件,然后给他起名字为main.cpp .
    新建main.cpp文件(Ctrl+N)并输入下面的程序:
#include<iostream>
using namespace std;
int main()
{
	cout<<"Hello World\n";
	return 0;
}

保存Ctrl+S,记住要写后缀(.cpp),不然Ubuntu下VScode编译报错:File not recongnized不可识别的文件格式

(5)配置launch.json(都必须有)

  • 点击左侧的Debug按钮选择添加配置(Add configuration),然后选择C++(GDB/LLDB),然后选个Default,将自动生成launch.json文件.
    (你可以在左侧竖着看到一个类似三角形的图标/类似小虫子的图标,点进取后找到Add configuration,选择C++(GDB/LLDB),然后会出现一个窗口,将下面内容复制粘贴进去)
    在这里插入图片描述
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceRoot}/${fileBasenameNoExtension}.main.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build"
        }
    ]
}

(6)配置tasks.json(安装opencv的情况)

按住Ctrl+Shift+P(输入Edit,我没用这一步)选择Task:Configure Default Build Task,然后弹出来的窗口中写入下面内容

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "-std=c++11",
                "${file}",
                "-o",
                "${fileBasenameNoExtension}.main.out",
			        "-I", "/usr/local/include",
			        "-I", "/usr/local/include/opencv",
			        "-I", "/usr/local/include/opencv2",
			        "-L", "/usr/local/lib",
			        "-l", "opencv_core",
			        "-l", "opencv_imgproc",
			        "-l", "opencv_imgcodecs",
			        "-l", "opencv_video",
			        "-l", "opencv_ml",
			        "-l", "opencv_highgui",
			        "-l", "opencv_objdetect",
			        "-l", "opencv_flann",
			        "-l", "opencv_imgcodecs",
			        "-l", "opencv_photo",
			        "-l", "opencv_videoio"
            ],
            "problemMatcher":{
                "owner": "cpp",
                "fileLocation":[
                    "relative",
                    "${workspaceFolder}"
                ],
                "pattern":[
                    {
                        "regexp": "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",
                        "file": 1,
                        "location": 2,
                        "message": 3
                    }
                ]
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

(7)c_cpp_properties.json(安opencv的情况)
同上Ctrl+Shift+P,输入Edit,选择C/C++:Edit Configurations(JSON)

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/include",
                "/usr/local/include/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "/usr/bin/cpp",
            "cStandard": "c11",
            "cppStandard": "c++11",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

(8)快速查看已配置的文件
左侧Explorer→MAIN→.vscode
在这里插入图片描述
(9)最后测试
新建一个try的c++文件,将下面代码粘贴进去.
在这里插入图片描述
然后将下面这张图片放入你自己创建的那个文件夹中,并取名为1.jpg,然后运行程序
在这里插入图片描述成功出现这只兔八哥就说明成功了,最下面连接中有详细执行短视频,需要的可以自己看一下怎么运行的,这里 不再赘述了。

#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
    
    Mat srcImage=imread("1.jpg");
    imshow("Origin",srcImage);
    waitKey(0);
    return 0;
}

参考博客:ubuntu16.04/18.04安装vscode和opencv3.4.6教程

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

ubuntu18.04安装vscode和opencv的新手自己的哔哔叨叨 的相关文章

  • cv2.VideoWriter:请求一个元组作为 Size 参数,然后拒绝它

    我正在使用 OpenCV 4 0 和 Python 3 7 创建延时视频 构造 VideoWriter 对象时 文档表示 Size 参数应该是一个元组 当我给它一个元组时 它拒绝它 当我尝试用其他东西替换它时 它不会接受它 因为它说参数不是
  • 如何在 Qt 应用程序中通过终端命令运行分离的应用程序?

    我想使用命令 cd opencv opencv 3 0 0 alpha samples cpp cpp example facedetect lena jpg 在 Qt 应用程序中按钮的 clicked 方法上运行 OpenCV 示例代码
  • 为什么Android的ImageReader类这么慢?

    我尝试了适用于 Android 3 4 1 的全新 OpenCVJavaCamera2View但它太慢了 仅显示相机视图约 15 fps 当我尝试较旧的JavaCameraView相反 它给了我很好的结果 30fps 这是我相机的极限 我想
  • Python:Urllib2 和 OpenCV

    我有一个程序 可以将图像保存在本地目录中 然后从该目录中读取图像 但我不想保存图像 我想直接从url读取它 这是我的代码 import cv2 cv as cv import urllib2 url http cache2 allposte
  • 如何加速 svm.predict?

    我正在编写一个滑动窗口来提取特征并将其输入到 CvSVM 的预测函数中 然而 我偶然发现 svm predict 函数相对较慢 基本上 窗口以固定的步幅长度在图像比例上滑动穿过图像 遍历图像加上提取每个图像特征的速度 窗口大约需要 1000
  • 如何检测图像是否像素化

    之前有人在 SO 上提出过这样的问题 在Python中检测像素化图像 https stackoverflow com questions 12942365 detecting a pixelated image in python还有关于q
  • 选择合适的IDE

    您会推荐使用以下哪种 IDE 语言来在 Windows 下开发涉及识别手势并与操作系统交互的项目 我将使用 OpenCV 库来执行图像处理任务 之后 我将使用 win32 API 或 NET 框架与操作系统交互 具体取决于您建议的工具 性能
  • 未加载库:@rpath/libopenblasp-r0.2.19.dylib

    我应该如何解决这个问题 Monas MacBook Pro 02 02 mona python Python 3 6 1 Anaconda custom x86 64 default May 11 2017 13 04 09 GCC 4 2
  • java.lang.UnsatisfiedLinkError:java.library.path中没有opencv_java2411

    我正在尝试将 opencv 添加到我的 Spring Boot Maven 项目中 为了使用 opencv 库 我必须在 java library path 中提供本机库 我已将以下命令添加到 Eclipse VM 参数中 Djava li
  • 使用 OpenCV 进行图像模糊检测

    我正在研究图像的模糊检测 我已经用过拉普拉斯方法的方差在 OpenCV 中 img cv2 imread imgPath gray cv2 cvtColor img cv2 COLOR BGR2GRAY value cv2 Laplacia
  • 将图像加载到现有 Mat 中

    有没有办法将图像加载到现有的 Mat 中 如果没有 有没有办法控制 OpenCV 在调用 cv imread 时分配内存的位置 我只是为您的类创建一个构造函数 该构造函数接受 imread 的输入参数并将图像直接加载 并分配 到您的类中 所
  • 如何在python 3.8中安装opencv-python

    我在 pycharm 中安装 opencv python 时遇到问题 打开 pycharm 后 我单击 设置 然后单击 项目解释器 单击 并搜索正确的模块 我开始安装 但失败了 Could not find a version that s
  • 在 Tensorflow-lite Android 中将位图转换为 ByteBuffer(浮点)

    在用于图像分类的tensorflow lite android演示代码中 图像首先转换为ByteBuffer格式以获得更好的性能 这种从位图到浮点格式的转换以及随后到字节缓冲区的转换似乎是一个昂贵的操作 循环 按位运算符 float mem
  • Haar级联正例图像大小调整

    我正在迈出第一步 为自定义对象识别创建 haar 级联 我花了时间获取大量数据并编写了一些预处理脚本以将视频转换为帧 我的下一步是裁剪感兴趣的对象 以创建一些积极的训练示例 我有几个问题 我确实在网上寻找答案 我有点困惑 我读到我应该致力于
  • CV_MAT_ELEM 中的编译错误

    调用estimateRigidTransform 的结果是我得到一个名为 trans 的cv Mat 对象 为了检索其包含的矩阵 我尝试以这种方式访问 其元素 for i 0 i lt 2 i for j 0 j lt 3 j mtx j
  • OpenCV findContours() 仅返回一个外部轮廓

    我试图隔离验证码中的字母 我设法过滤验证码 结果是这个黑白图像 但是当我尝试使用 OpenCV 的 findContours 方法分离字母时 它只是发现了一个包裹整个图像的外部轮廓 从而产生了该图像 图像外部的黑色轮廓 我将此代码与 Pyt
  • OpenCV InRange 参数

    我在 Android 上使用 OpenCV 来实时查找特定颜色的圆圈 我的第一步是仅保留与我正在寻找的定义颜色相对应的像素 在本例中为红色或绿色 示例图像 https i stack imgur com CIozU jpg 为此 我正在使用
  • 如何计算 cv::Mat 的步幅

    我想知道如何计算步幅cv Mat 我已经更新了代码 我需要计算步幅 我不知道计算投影变换有什么问题 我得到一个cv Mat然后将其复制到unsigned int数组 然后对其进行转换 然后返回一个cv Mat待展示 cv Mat3b src
  • OpenCV 2.4.3rc 和 CUDA 4.2:“OpenCV 错误:没有 GPU 支持”

    我在这张专辑中上传了几张截图 https i stack imgur com TELST jpg https i stack imgur com TELST jpg 我正在尝试在 Visual Studio 2008 中的 OpenCV 中
  • 在谷歌C​​olab中使用cv2.imshow()

    我正在尝试通过输入视频来对视频进行对象检测 cap cv2 VideoCapture video3 mp4 在处理部分之后 我想使用实时对象检测来显示视频 while True ret image np cap read Expand di

随机推荐

  • JavaScript - 防抖与节流 基础代码

    防抖 无论触发了多少次函数 只执行最后一次函数 多次触发合并为一次 span class token tag span class token tag span class token punctuation lt span body sp
  • 一、QGC源码下载以及配置

    QGC V3 4版本 源码存放地址 https github com mavlink qgroundcontrol 下载方式 xff1a 1 git xff1a git clone https github com mavlink qgro
  • 无法被检测到的Linux恶意软件

    网络安全研究人员今天发现了一种完全无法被检测到的Linux恶意软件 xff0c 该恶意软件利用未公开的技术来监视并瞄准以流行的云平台 xff08 包括AWS xff0c Azure和阿里云 xff09 托管的可公开访问的Docker服务器
  • C++中的重难点看这一篇就够了

    sizeof 是一个运算符 xff0c 不是一个函数 看程序效率的快慢 xff0c 可以直接看其汇编语言程序的多少 扩展名 xff1a c语言 xff1a c c 43 43 xff1a cpp Java xff1a 先有类 xff0c 再
  • git 记录一次合并冲突的解决办法

    合并冲突 将远程分支拉到本地 xff0c 执行 git merge 39 分支名 39 时 xff0c 报错 xff1a CONFLICT content Merge conflict in 文件路径名 冲突出现在xx文件里面 Automa
  • 2020-11-10

    将Tomcat整合到Eclipse中 将Tomcat服务器整合到Eclipse工具中 xff0c 可以通过Eclipse启动 关闭tomcat服务器 xff0c 更重要的是 xff0c 可以非常方便的将在Eclipse中创建的Web项目发布
  • Ubuntu18.04搭建 SLAM环境(完美避坑,版本对应不报错)

    Ubuntu18 04搭建 SLAM环境 写到前言一 CMake g 43 43 git的安装二 Eigen的配置三 Sophus的配置四 OpenCV PCL Pangolin的配置安装1 OpenCV的配置2 PCL3 Pangolin
  • linux下运行.sh脚本提示syntax error: unexpected end of file的解决方法

    转载自 xff1a https www jb51 net article 179414 htm CentOS7运行 sh脚本提示syntax error unexpected end of file的解决方法 更新时间 xff1a 2020
  • JS高级编程 - - day03

    一 获取节点示例的方法 直接获取节点实例 xff1a 1 通过内置对象 document 获取 xff0c document对象是HTMLDocument的实例 2 获取根元素的实例 xff1a document documentEleme
  • Python学习笔记——argparse中的action=store_true用法

    前言 Python的命令行参数解析模块学习 示例 参数解析模块支持action参数 xff0c 这个参数可以设置为 store true store false 39 store const 等 例如下面这行代码 xff0c 表示如果命令行
  • 阿里云服务器更换Ubuntu操作系统并配置图形界面

    文章目录 阿里云服务器更换Ubuntu操作系统并配置图形界面环境目标更换操作系统登录阿里云服务器管理控制台进入实例管理页面停止实例更换操作系统 配置图形界面远程连接到服务器配置图形界面配置Ubuntu 阿里云服务器更换Ubuntu操作系统并
  • 【JS】事件流、事件冒泡、事件捕获、阻止冒泡、事件委托

    目录 事件 xff1a 什么是事件流 事件冒泡事件捕获 DOM事件处理 DOM0 DOM2 一个DOM元素同时绑定冒泡捕获 xff0c 执行顺序 xff1a 阻止冒泡 阻止冒泡方法封装 Event事件对象的使用 事件委托 什么是事件委托 实
  • 操作系统学习笔记1--ucos

    实时操作系统 xff08 Real Time Operating System xff0c 简称RTOS xff09 一般裸机为前后台系统模式 xff0c while 1 大循环为后台 xff0c 中断为前台 RTOS操作系统比前后台系统实
  • 使用 PIL, OpenCV, Matplotlib 获取图片通道数

    1 PIL img span class token operator 61 span Image span class token punctuation span span class token builtin open span s
  • 2021-10-24(机器学习实战-ch09 map方法和int不兼容问题)

    机器学习实战 ch09 TypeError unsupported operand type s for map and int span class token operator gt gt span span class token o
  • TVM安装教程(踩坑记录)

    一 Ubuntu环境版本 本文安装的是Ubuntu22 10 强烈建议安装20以上的系统版本 xff0c 否则在后续安装高版本的环境依赖的时候容易出现问题 二 配置相关环境依赖 xff08 git vim miniconda gcc g 4
  • stm32问题汇总2

    问题1 由于所用st库版本不一致 xff0c 某个adc寄存器未配置导致左右对齐方式不对 xff0c 从而读取adc值错误 解决措施 xff1a 用原来的库或者配置该寄存器参数 问题2 xff1a 通过上位机更新程序时未考虑下位机擦写时间
  • 10 个 GitHub 上最火的程序员简历项目,2021 金三银四必备!

    大家好 xff0c 我是你们的 猫哥 xff0c 一个不喜欢吃鱼 又不喜欢喵 的超级猫 前言 猫哥是一个常年混迹在 GitHub 上的猫星人 xff0c 所以发现了不少好的前端开源项目 常用技巧 xff0c 在此分享给大家 公众号 xff1
  • linux驱动开发(二):Linux字符设备驱动程序(设备号、cdev、设备节点、file_operations)

    Linux系统将设备分成字符设备 块设备 网络设备三类 用户程序调用硬件的过程如下 一 用户级 内核级和系统调用 Linux Unix系统下的进程运行分为用户态和进程态两种状态 我们的应用程序通常仅在用户态下运行 xff0c 出于保护内核资
  • ubuntu18.04安装vscode和opencv的新手自己的哔哔叨叨

    这篇是给自己记录以下我的安装过程 xff0c 完全没有理论依据 xff0c 自己摸索的 xff0c 大佬止步 有需要和我一样新手可参考一二 不保证成功哦 首先介绍以下我的环境 我装得是ubuntu和windows的双系统 xff0c ubu