Linux配置OpenCv4.6.0+VsCode开发环境

  • Post author:
  • Post category:linux




准备工作-安装OpenCV4.6.0


参考之前的链接:Ubuntu20.04 安装OpenCV4.6.0



准备工作2:安装VsCode


官网下载Deb文件安装就行



正式工作

  1. 新建一个文件夹,打开VsCode,点击

    文件



    打开文件夹

  2. 点击

    扩展

    ,搜索

    vc++

    ,安装扩展即可。

  3. 新建一个

    cpp

    文件,随便找张图片

    链接

    ,写入下列代码。

#include <iostream>
#include <string>
#include <filesystem>
#include <opencv2/opencv.hpp>


int main() {
  std::filesystem::path file_path(__FILE__);
  std::filesystem::path dir_path(file_path.parent_path());
  std::filesystem::path img_path(dir_path.append("lena.jpg"));
  // 判断文件是否存在,不存在就退出
  if (!std::filesystem::exists(img_path)) {
    std::cout << img_path << "不存在,请检查" << std::endl;
  }
  cv::Mat img = cv::imread(img_path);
  cv::namedWindow("lena", cv::WINDOW_NORMAL);
  cv::displayOverlay("lena", "overlay", 5000); // 显示5秒?
  cv::displayStatusBar("lena", "status bar", 5000); // 显示5秒
  cv::saveWindowParameters("lena"); // 保留参数
  cv::loadWindowParameters("lena");
  cv::imshow("lena", img);
  cv::waitKey(0);
  cv::destroyAllWindows();
  return 0;
}
  1. 然后应该会报错,选择生成调试文件,依次选择

    gdb

    ,

    g++

    ,之后会自动生成

    task.json

    ,

    launch.json

    文件,修改后如下所示。
  • 其中task.json文件如下:
{
  "tasks": [
    {
      "type": "cppbuild",
      "label": "C/C++: g++ 生成活动文件",
      "command": "/usr/bin/g++",
      "args": [
        "-fdiagnostics-color=always",
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}",
        "--std=c++17",
        "-I", "/usr/local/include",
        "-I", "/usr/local/opencv4/include/opencv4",
        "-L", "/usr/local/lib",
        "-L", "/usr/local/opencv4/lib",
        "-l", "opencv_core",
        "-l", "opencv_imgproc",
        "-l", "opencv_imgcodecs",
        "-l", "opencv_video",
        "-l", "opencv_ml",
        "-l", "opencv_highgui",
        "-l", "opencv_objdetect",
        "-l", "opencv_flann",
        "-l", "opencv_imgcodecs",
        "-l", "opencv_photo",
        "-l", "opencv_videoio"
      ],
      "options": {
        "cwd": "${fileDirname}"
      },
      "problemMatcher": [
        "$gcc"
      ],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "调试器生成的任务。"
    }
  ],
  "version": "2.0.0"
}
  • 其中launch.json文件如下:
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
        {
            "name": "g++ - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++ 生成活动文件",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}
  1. 按住Crl+shift+p,然后输入

    Edit

    ,选择

    C++ json

    模板,然后会自动创建一个

    c_cpp_properties.json

    文件。文件内容编辑后如下:
{
  "configurations": [
      {
          "name": "Linux",
          "includePath": [
              "${workspaceFolder}/**",
              "/usr/include",
              "/usr/local/include/*/",
              "/usr/local/opencv4/include/opencv4"
          ],
          "defines": [
              "_DEBUG",
              "UNICODE",
              "_UNICODE"
          ],
          "compilerPath": "/usr/bin/clang-12",
          "cStandard": "c17",
          "cppStandard": "c++17",
          "intelliSenseMode": "linux-clang-x64"
      }
  ],
  "version": 4
}

最后,再运行一次刚刚的cpp文件,如果出现图像那就成功了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J4gTHbAi-1667566296863)(:/2078aba1ab6142299cf4b9721b05ceab)]



版权声明:本文为qq_29147861原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。