• Ubuntu下vscode配置OpenCV以及Libtorch


    opencv安装

    1. sudo apt-get update
    2. sudo apt-get install libopencv-dev

    该方式安装的版本可能比较旧。

    测试代码

       #include 
       #include 
    
       int main() {
           cv::Mat image = cv::imread("t.png");
           cv::imshow("Image", image);
           cv::waitKey(0);
           return 0;
       }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    Ctrl + F5,然后选择g++ build active file 运行代码。

    出现对‘cv::imread(cv::String const&, int)’未定义的引用

    编辑task.json文件,在args参数下末尾添加
    “-lopencv_core”,
    “-lopencv_imgcodecs”,
    “-lopencv_highgui”

    手动安装指定版本opencv

    1. 官网下载指定版本的source代码,并解压到本地。

    2. 解压后执行make命令

      mkdir build
      cd build
      cmake ..
      make -j8
      sudo make install
      
      • 1
      • 2
      • 3
      • 4
      • 5
    3. /etc/ld.so.conf.d/路径下创建任意一个.conf文件,把lib文件的路径写在里面,一般是 /usr/local/lib,然后执行 sudo ldconfig即可。(否则会报错:error while loading shared libraries: libopencv_core.so.3.4: cannot open shared object file)

    Libtorch配置

    1. 下载对应版本并解压。历史版本

    2. 使用cmake进行构建。cmake内容如下:

      cmake_minimum_required(VERSION 2.6)
      
      project(libtorch_t)
      
      set(Torch_DIR /home/yang/Documents/libtorch/share/cmake/Torch)  #你解压的libtorch的绝对路径
      find_package(Torch REQUIRED)
      
      set(CMAKE_CXX_FLAGS "${CAMKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")
      #set(CUDA_INCLUDE_DIRS "/usr/local/cuda/include")
      
      #main.cpp exe
      add_executable(libtorch_t libtorch_t.cpp)
      
      #link libtorch .a .so
      target_link_libraries(libtorch_t "${TORCH_LIBRARIES}")
      target_include_directories(libtorch_t PRIVATE CUDA_INCLUDE_DIRS)
      
      set_property(TARGET libtorch_t PROPERTY CXX_STANDARD 14)
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
    3. 编写libtorch_t测试代码

      #include 
      #include 
      
      int main() {
        torch::Tensor tensor = torch::rand({2, 3});
        std::cout << tensor << std::endl;
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
    4. 运行run.sh 其内容如下:
      cmake .
      make
      ./libtorch_t

  • 相关阅读:
    QT-day4
    java动漫专题网站系统springboot+vue
    Docker轻量级可视化工具Portainer
    leetcode:33.搜索旋转排序数组
    缓存滚动位置:解决keep-alive组件缓存滚动位置失败问题
    SOFA Weekly|Go 代码城市、本周 Contributor & QA
    python和go相互调用的两种方法
    这几个小技巧,收藏起来总没错
    【数据结构算法(一)】递归篇(常见实例讲解)
    Java代码实现RSA算法加密解密文件功能
  • 原文地址:https://blog.csdn.net/u011489887/article/details/133783479