Ubuntu20.04安装OpenCV并在vsCode中配置

1. 安装OpenCV

1.1 安装准备:

1.1.1 安装cmake

sudo apt-get install cmake

1.1.2 依赖环境

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

1.1.3 下载opencv

链接: link

点击Sources进行下载自己需要的版本

1.2 安装

1.2.1 解压

默认下载目录在Downloads中,用终端打开

输入命令:unzip opencv-4.5.4.zip

如果报错,安装unzip:sudo apt-get install unzip

1.2.2 创建build文件夹

进入解压后的文件后创建build文件夹:mkdir build

进入build文件夹:cd build

1.2.3 cmake

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

1.2.4 编译

sudo make -j8
可以使用sudo make -j 8 、sudo make -j4 、sudo make 
我这里就使用sudo make -j 8了

1.2.5 安装

sudo make install

1.3 配置环境

用gedit打开/etc/ld.so.conf

在文件中加上一行 /usr/loacal/lib

其中/user/loacal是opencv安装路径也就是makefile中指定的安装路

sudo gedit /etc/ld.so.conf

运行sudo ldconfig

修改bash.bashrc文件

sudo gedit /etc/bash.bashrc 

在文件末尾加入:

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

然后在命令行中输入

source /etc/bash.bashrc

1.4 校验

在命令行中输入如下命令:pkg-config opencv --modversion

2. VSCode配置

2.1 配置c_cpp_properties.json文件

在VScode中,按下ctrl+shift+p ,搜索打开如下图所示:

c_cpp_properties.json文件,往里面添加opencv路径

2.2 配置tasks.json文件:

打开VSCode界面中的终端,运行任务,设置

bash 复制代码
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ 生成活动文件",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
                /* 项目所需的头文件路径 */
                "-I","${workspaceFolder}/",
                "-I","/usr/local/include/",
                "-I","/usr/local/include/opencv/",
                "-I","/usr/local/include/opencv2/",
 
                /* 项目所需的库文件路径 */
                "-L", "/usr/local/lib",
 
                /* OpenCV的lib库 */
                "/usr/local/lib/libopencv_*",

            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

3.测试

cpp 复制代码
#include<opencv2/opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;
int main(int argc,char** argv){
    Mat src=imread("sonar.jpg");
    if(src.empty()){
        printf("Could not open or find the image\n");
        return -1;
    }
    namedWindow("test opencv setup",CV_WINDOW_AUTOSIZE);
    imshow("test opencv setup",src);

    waitKey(0);
    return 0;
}

参考:

链接: link

链接: link

相关推荐
小馒头学python2 分钟前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
神奇夜光杯12 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
正义的彬彬侠14 分钟前
《XGBoost算法的原理推导》12-14决策树复杂度的正则化项 公式解析
人工智能·决策树·机器学习·集成学习·boosting·xgboost
plmm烟酒僧16 分钟前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
Debroon24 分钟前
RuleAlign 规则对齐框架:将医生的诊断规则形式化并注入模型,无需额外人工标注的自动对齐方法
人工智能
羊小猪~~31 分钟前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
AI小杨32 分钟前
【车道线检测】一、传统车道线检测:基于霍夫变换的车道线检测史诗级详细教程
人工智能·opencv·计算机视觉·霍夫变换·车道线检测
晨曦_子画36 分钟前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
道可云38 分钟前
道可云人工智能&元宇宙每日资讯|2024国际虚拟现实创新大会将在青岛举办
大数据·人工智能·3d·机器人·ar·vr
人工智能培训咨询叶梓1 小时前
探索开放资源上指令微调语言模型的现状
人工智能·语言模型·自然语言处理·性能优化·调优·大模型微调·指令微调