Ubuntu 20.04下配置VSCode以支持OpenCV库开发

Ubuntu 20.04下配置VSCode以支持OpenCV库开发

      • [1. 安装OpenCV库](#1. 安装OpenCV库)
      • [2. 安装VSCode的C++扩展](#2. 安装VSCode的C++扩展)
      • [3. 配置`c_cpp_properties.json`](#3. 配置c_cpp_properties.json)
      • [4. 编写代码并测试](#4. 编写代码并测试)
      • [5. 配置`tasks.json`(编译OpenCV程序)](#5. 配置tasks.json(编译OpenCV程序))
      • [6. 运行程序](#6. 运行程序)
      • [7. 安装其他依赖(可选)](#7. 安装其他依赖(可选))
      • [8. 使用CMake(可选)](#8. 使用CMake(可选))
      • 总结

在VSCode中配置OpenCV需要确保OpenCV库已正确安装,并在VSCode中配置相关路径和编译选项。以下是详细步骤:


1. 安装OpenCV库

在Ubuntu 20.04上,可以通过以下命令安装OpenCV库:

安装OpenCV(推荐使用APT安装)
bash 复制代码
sudo apt update
sudo apt install libopencv-dev

安装完成后,OpenCV库的头文件和库文件会分别存放在/usr/include/opencv4/usr/lib/x86_64-linux-gnu目录下。

或者从源码安装OpenCV(可选)

如果需要最新版本的OpenCV,可以从源码编译安装。具体步骤可以参考OpenCV官方文档


2. 安装VSCode的C++扩展

确保VSCode已安装C/C++扩展:

  1. 打开VSCode。
  2. 进入扩展市场(Ctrl+Shift+X)。
  3. 搜索"C/C++"并安装Microsoft提供的C/C++扩展。

3. 配置c_cpp_properties.json

为了让VSCode正确识别OpenCV库的头文件,需要配置c_cpp_properties.json文件:

  1. 打开VSCode,进入你的C++项目。
  2. 按下Ctrl+Shift+P,输入"C/C++: Edit Configurations (UI)"并选择。
  3. 在打开的界面中,找到"Include Path"设置。
  4. 添加OpenCV库的头文件路径(例如/usr/include/opencv4)。

或者,可以直接编辑.vscode/c_cpp_properties.json文件,内容如下:

json 复制代码
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/include/opencv4"  // OpenCV头文件路径
            ],
            "defines": [],
            "compilerPath": "/usr/bin/g++",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

4. 编写代码并测试

创建一个简单的C++文件(如main.cpp),测试OpenCV库是否配置成功:

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

int main() {
    cv::Mat image = cv::imread("test.jpg");  // 读取图片
    if (image.empty()) {
        std::cerr << "Could not open or find the image!" << std::endl;
        return -1;
    }
    cv::imshow("Display window", image);  // 显示图片
    cv::waitKey(0);  // 等待按键
    return 0;
}

5. 配置tasks.json(编译OpenCV程序)

为了编译OpenCV程序,需要配置tasks.json文件:

  1. 打开VSCode,按下Ctrl+Shift+P,输入"Tasks: Configure Task"并选择。
  2. 选择"Create tasks.json file from template" -> "Others"。
  3. 编辑生成的tasks.json文件,内容如下:
json 复制代码
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": [
                "-std=c++17",
                "-I/usr/include/opencv4",  // OpenCV头文件路径
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
                "-lopencv_core",           // 链接OpenCV库
                "-lopencv_imgcodecs",
                "-lopencv_highgui"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"],
            "presentation": {
                "reveal": "always"
            }
        }
    ]
}
  1. 保存后,按下Ctrl+Shift+B即可编译当前文件。

6. 运行程序

编译成功后,在终端中运行生成的可执行文件:

bash 复制代码
./main

如果程序能够正确显示图片(如test.jpg),说明OpenCV库配置成功。


7. 安装其他依赖(可选)

如果编译时提示缺少其他依赖库,可以通过以下命令安装:

bash 复制代码
sudo apt install build-essential cmake libgtk2.0-dev pkg-config

8. 使用CMake(可选)

如果你的项目使用CMake管理,可以创建一个CMakeLists.txt文件,内容如下:

cmake 复制代码
cmake_minimum_required(VERSION 3.10)
project(OpenCVTest)

find_package(OpenCV REQUIRED)

add_executable(main main.cpp)
target_link_libraries(main ${OpenCV_LIBS})

然后在VSCode中配置CMake工具:

  1. 安装CMake扩展(搜索"CMake Tools"并安装)。
  2. 打开项目文件夹,VSCode会自动检测CMakeLists.txt并生成构建配置。

总结

通过以上步骤,你可以在VSCode中成功配置OpenCV库,并编写、编译和运行使用OpenCV的C++代码。关键步骤包括:

  1. 安装OpenCV库。
  2. 配置c_cpp_properties.json以包含OpenCV头文件路径。
  3. 配置tasks.json以支持编译和链接OpenCV库。

如果遇到问题,可以检查OpenCV库的安装路径是否正确,并确保所有依赖库已安装。

相关推荐
若云止水3 小时前
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_list_init
nginx·ubuntu·list
web130933203983 小时前
Ubuntu 系统下安装 Nginx
数据库·nginx·ubuntu
若云止水4 小时前
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(5)
网络·nginx·ubuntu
是阿牛啊4 小时前
【ubuntu20安装usv_sim_lsa (无人水面航行器模拟环境) - v0.3】
ubuntu·ros·osg·usv_sim
白白白鲤鱼5 小时前
VScode使用ssh远程开发,并实现端口转发功能
服务器·vscode·ssh
CP-DD11 小时前
Pycharm 远程执行无法显示 cv2.imshow() 的原因分析及解决方案
人工智能·opencv·计算机视觉
油泼辣子多加12 小时前
【计算机视觉】手势识别
人工智能·opencv·计算机视觉
JANGHIGH12 小时前
Ubuntu 20.04下配置VSCode以支持Eigen库开发
linux·vscode·ubuntu
天涯过客TYGK12 小时前
VSCode 移除EmmyLua插件的红色波浪线提示
ide·vscode·编辑器