2022年8月20日09:59:28 补充如下:

  • Linux下有很多C、C++ IDE:
    • QT creator
    • vscode
    • clion
  • 在Linux下比较好用的C/C++ IDE是QT 安装教程:Ubuntu笔记(三)QT5开发环境在Linux环境中下载与安装_Lawrence_ly16的博客-CSDN博客
  • Linux下QT C/C++开发:Linux上使用Qt Creator进行C/C++开发_shitsnail的博客-CSDN博客_linux qtcreator
    • 教程:001 - Linux C/C++ 开发环境搭建_ᴇʀɪᴄ ᴛᴇᴏ的博客-CSDN博客_linux下c++开发环境
  • Linux 下常用的 C/C++ IDE 还是比较多的;我这里主要介绍一下 qtcreator、vscode、clion;强烈推荐使用 CLion 
    • vscode也可以编译linux下的C/C++工程:安装插件 CMake、CMake Tools、C/C++即可。
    • vscode C/C++ 使用教程:Linux/Ubuntu中Vs Code配置C++/C环境_CS_Lee_的博客-CSDN博客_linuxvscode配置c++环境
    • 在vscode中debug时有让选择gcc版本:gcc gcc8 gcc9,它们有啥区别呢?
      • Linux下GCC超详细讲解_DeRoy的博客-CSDN博客_linux下gcc
        • gcc, g++注意安装版本要大于4.8.5因为4.8.5以后的版本才支持c++11标准
        • gcc和g++ 都是GNU (组织)的一个编译器。
        • 后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序


一、cmake opencv编译

参考:Linux 使用cmake构建OpenCV项目_sandalphon4869的博客-CSDN博客

参考:Linux 下编译安装OpenCV,Cmake的安装_wzy的博客-CSDN博客

1.1 opencv编译

  1. 安装cmake:sudo apt-get install cmake  注意这个不是gui的版本
    测试cmake是否安装成功:cmake --version
    cmake version 2.8.10.2
  2. 安装cmake-gui:sudo apt  install cmake-qt-gui
    命令行终端$:cmake-gui开启cmake界面
  3. 下载Opencv和opencv-contrib
    opencv-4.5.5下载地址:Tags · opencv/opencv · GitHub
    opencv4.5.5-contrib下载地址:Tags · opencv/opencv_contrib · GitHub
  4. 先安装 libgtk2.0-dev 和 pkg-config,,否则后期编译运行程序会出现类似如下的问题:

    OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /usr/local/opencv/OpenCV-2.0.0/src/highgui/window.cpp, line 100 
    terminate called after throwing an instance of 'cv::Exception'

    通过网络获取安装:

    # apt-get install libgtk2.0-dev
    # apt-get install pkg-config
  5. cmake-gui打开界面
    参考网址:3.1 (win10 + vs2019) cmake编译 (opencv4.1.0 + opencv_contrib4.1.0)_一点先森-CSDN博客要加入contrib地方:

伸手自取:Linux系统编译opencv4.0.1、opencv4.0.1 contrib及匹配测试代码_祝鹏辉-CSDN博客
Centros系统的,不适合我,哎。

 1.2 build multi-tracker工程

 使用如下命令进行build:由于开启了YOLO,需要CUDA_TOOLKIT

git clone https://github/Smorodov/Multitarget-tracker.git
cd Multitarget-tracker
mkdir build
cd build
cmake . .. -DUSE_OCV_BGFG=ON -DUSE_OCV_KCF=ON -DUSE_OCV_UKF=ON -DBUILD_YOLO_LIB=ON -DBUILD_YOLO_TENSORRT=ON -DBUILD_ASYNC_DETECTOR=ON -DBUILD_CARS_COUNTING=ON
       make -j
  1. 用cmake打开这个txt文件,就可以这里添加opencv的相关路径

  2. 遇到另一个问题:打开cmake.txt就看得到下面的红色图,勾选一些选项,加入opencv的路径,还需要几个路径:CUDA路径;CUDNN路径

    ① nvidia-smi命令行,看是否安装cudar如何看linux系统中有没有安装cuda,Linux系统CUDA10.2+CUDNN安装教程_RC-1136的博客-CSDN博客e
    ② cuda安装:sudo apt install nvidia-cuda-toolkit
    nvcc -V


    ③安装CUDNN Ubuntu 20.04 CUDA10.1&cuDNN安装方法全新整理-阿里云开发者社区
  • ❶下载地址:cuDNN Archive | NVIDIA Developer
    我自己注册了账号,终于下下来了。(注册账号的方法:科学上网+浏览器,最主要的原因是哪个验证码弹不出来,验证码方式为(图片识别,就是买火车票似的哪些是卡车),科学上网+不屏蔽图片验证码识别,基本就能注册成功,邮箱验证+重新登录(还来一遍验证码)
    P.S. 实在自己注册不行的,淘宝上有专门帮你下cuDNN的商家,收费不详。
  • ❷另外, 如果是linux 版本, 在阿里镜像上下很快。 附上链接
    阿里云开源镜像站资源目录 
    这个超级棒的  然而我没找到cuda10.1的cudnn版本,宣告失败 版本不一定全面,可先碰碰运气
  • ❸cuda10.1-cuda11.1所有版本链接:百度网盘 请输入提取码 提取码:rw1o 又碰运气
    这个又全是windows的,哎(版本不一定全面,可先碰碰运气

  • 无需注册登录NVIDIA官网下载CUDNN_justablackacat的博客-CSDN博客_cudnn下载
    避开注册的方法:没什么用 迅雷下的太慢了,然后挂掉了,下载失败
     
  • ❺最终:使用网盘下载的 百度网盘 请输入提取码  提取码:u6j0
    有linux cuda10.1的cudnn文件。但是三个deb文件不全,缺了dev.deb,缺了samples.deb,还需要另外下载。改天把所有文件传齐全了,分享一个百度云链接(待填坑4
  • ④ 安装:我是在sudo apt install nvidia-cuda-toolkit  安装的cuda,安装在/usr/cuda中,没有在local文件夹中
  • sudo cp cuda/include/cudnn.h    /usr/local/cuda/include  
    sudo cp cuda/lib64/libcudnn*    /usr/local/cuda/lib64
    sudo chmod a+r /usr/local/cuda/include/cudnn.h   /usr/local/cuda/lib64/libcudnn*

    我的去掉Local/cuda/路径,就是:

    sudo cp cuda/include/cudnn.h    /usr/include  
    sudo cp cuda/lib64/libcudnn*    /usr/lib64
    sudo chmod a+r /usr/include/cudnn.h   /usr/lib64/libcudnn*

    ⑤  安装pkg 三个

  1. cmake通过了

  2. 最终还没有运行和debug起来的原因:

  • Linux下C++的IDE不熟悉,没有win10的vs2015等简单(傻瓜化)。
  • 通过请教他人,得知Linux下的Eclipse和QT(待填坑1,均可实现方便的debug,不知道是否有win10的visual studio方便。
  • 有尝试Linux下的vscode运行C++工程待填坑2(非单个cpp)
    问题如下:
    ①json的设置,task.jason以及debug的json,并不太方便。②编译都没通过,学习成本和入门门槛有点高。Linux下C++开发似乎并不太容易。还需要进一步探索。

1.3 win10上的cmake通过结果如下,与Linux下cmake的使用方式一致

参考1.0.3节:多目标跟踪——阶段性进展_hello world-CSDN博客_多目标跟踪

win10下的编译器为:"visual studio 16 2019",Linux下C++的编译器还没试过,下次再续 待填坑3

二、vscode可视化----python debug 图形可视化

2022年3月28日,填坑:vscode docker python项目,调试可视化(图像变量)

VS Code 插件之 vscode-debug-visualizer - 松鼠闹IT - 博客园

 vscode插件:debug visualizer

pip安装:pip install vscodedebugvisualizer

debug visualizer教程位置:https://github/hediet/vscode-debug-visualizer/blob/master/demos/python/demo.py

可以看到是支持多种python格式的:pytorch的tensor,TensorFlow,pandas,numpy等,都是支持的

似乎运行不起来,我反正没看到效果

2.1 jupyter notebook可视化

Working with Jupyter code cells in the Python Interactive window

① debug模式,lauch.jason给出命令行参数

    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: 当前文件",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args":["configs/mot/deepsort/sort_faster-rcnn_fpn_4e_mot17-private.py",
                "--input","/dataset_zhr/img1.avi",
                "--output","/dataset_zhr/test_MOT16-01_output.mp4"]
        }
    ]
}

② F5开始debug断点调试

③调试控制台打开,可以查看监视变量,输出变量内容等

④复制变量到Jupyter中,变为jupyter变量,即可查看

⑤打开变量查看,可以看到矩阵按照矩阵结构排列的,而不是一堆数据。很直观

更多推荐

Linux C++项目环境搭建(Linux python调试环境搭建)