当前位置: 首页 > news >正文

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

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

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

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


1. 安装OpenCV库

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

安装OpenCV(推荐使用APT安装)
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文件,内容如下:

{
    "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库是否配置成功:

#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文件,内容如下:
{
    "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. 运行程序

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

./main

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


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

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

sudo apt install build-essential cmake libgtk2.0-dev pkg-config

8. 使用CMake(可选)

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

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

相关文章:

  • [MySQL初阶]MySQL(1)MySQL的理解、库的操作、表的操作
  • 层次聚类R复现
  • 解释器模式
  • 通俗易懂的分类算法之K近邻详解
  • Golang学习笔记_41——观察者模式
  • 依赖注入与控制反转什么关系
  • 删除链表的倒数第N个节点 力扣19
  • 【Linux笔记】基础IO(上)
  • 【MySQL】第十二弹---表连接详解:从内连接到外连接
  • Spark的数据本地性是在哪个环节确定的
  • MongoDB分片集群
  • 第三阶段-产品方面的技术疑难
  • GMAC网络延时性能优化
  • office集成deepseek插件,office集成deepseek教程(附安装包)
  • 人工智能训练物理模拟器 MuJoCo入门教程 常用函数介绍及测试用例
  • 基于 DataEase 的企业数据分析实践
  • centos7操作系统下安装docker,及查看docker进程是否启动
  • 如何用 DeepSeek 和 ChatGPT 打造智能搜索与问答体验
  • 残差收缩模块
  • 大数据测试中,数据仓库表类型有哪些?
  • 2025中国品牌日上海践行活动启动,将建设品牌生态交互平台
  • 首批证券公司科创债来了!拟发行规模超160亿元
  • 国家主席习近平同普京总统签署关于进一步深化中俄新时代全面战略协作伙伴关系的联合声明
  • 苹果Safari浏览器上的搜索量首次下降
  • 第1现场 | 印巴冲突:印50多年来首次举行大规模民防演习
  • 国防部:正告菲方停止以任何方式冲撞中方核心利益