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

相关推荐
Linux-lucky13 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
禁默13 小时前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk816314 小时前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
会飞锦鲤21 小时前
基于 SVM + HOG 的铸造缺陷检测系统
python·opencv·机器学习·计算机视觉·缺陷检测·图像分类·svm
David猪大卫1 天前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
且从容.2 天前
Ubuntu 安装 Docker
linux·ubuntu·docker
承渊政道3 天前
Linux网络学习【深入理解多路转接select、poll的代码改写】
linux·ubuntu·select·多路转接·poll
沫璃染墨4 天前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
longzhizhui9264 天前
Ubuntu 全版本 CVE-2026-98432 内核安全升级操作手册
ubuntu·网络安全·云计算·bash
OPEN-F4 天前
Ubuntu 自动登录后 GNOME 远程桌面连不上?一次登录钥匙环锁定的排查与永久修复
linux·运维·ubuntu