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库的安装路径是否正确,并确保所有依赖库已安装。

相关推荐
晨间晓10 分钟前
图片里的高频和低频是什么?用华为云码道开发 OpenCV 傅里叶频谱分析工具
opencv·计算机视觉·华为云
晨间晓24 分钟前
图片里的阴影能不能减弱?用华为云码道开发 OpenCV 光照校正工具
人工智能·opencv·华为云
陈让然10 小时前
WSL 桥接设置静态IP(快速)
linux·网络·ubuntu
晨间晓15 小时前
图片里的细小噪点怎么平滑?用华为云码道开发 OpenCV 图像滤波对比工具
人工智能·opencv·华为云
哎写bug的程序员17 小时前
关于VSCode上gcc,gdb的安装配置问题
ide·vscode·编辑器
偷吃米饭19 小时前
图片特征怎么描述?用华为云码道开发 OpenCV ORB 特征提取工具
人工智能·opencv·华为云
晨间晓20 小时前
图片里的关键点怎么找?用华为云码道开发 OpenCV FAST 特征点检测工具
人工智能·opencv·华为云
晨间晓20 小时前
二值图里的噪点怎么去掉?用华为云码道开发 OpenCV 形态学操作工具
人工智能·opencv·华为云
旺旺的碎冰冰~21 小时前
VScode解决终端输出中文乱码问题
ide·vscode·编辑器
晨间晓1 天前
图片里的角点在哪里?用华为云码道开发 OpenCV Harris 角点检测工具
人工智能·opencv·华为云