.
|-- calibration 相机标定文件
| |-- test.yaml 标定测试文件
| |-- <序列号>.yaml [自行添加]经相机标定后获得的,属于特定工业相机的相机标定文件
|-- config 配置文件
| |-- hik_camera.conf 海康相机配置文件
|-- config-vscode VSCode配置
| |-- launch.json 调试配置文件
| |-- tasks.json 任务配置文件
|-- img 图像文件夹(用于文件注释)
|-- include 头文件
|-- src 源代码
|-- .clang-format C/C++格式化配置文件
|-- .gitignore Git忽略配置文件
|-- CMakeLists.txt
|-- main.cpp
|-- project.md
|-- README.md
见./project.md
.
作业提交邮箱有改动,务必注意
文件中的
Ref: <path>
为队内自瞄项目aritnx-hub
[https://mirrors.sustech.edu.cn/git/artinx/artinx-hub]<path>
路径下相关功能模块,仅供参考鼓励参看其他RoboMaster视觉自瞄开源项目,可在 [https://bbs.robomaster.com/] 以自瞄,视觉等关键词查找。
wsl用户建议vscode,其他用户建议clion。本文档会分别进行说明。
- 在命令行中执行
sudo apt update
sudo apt-get install cmake make gcc gdb libdrm-dev libxxf86vm-dev libxt-dev xutils-dev flex bison xcb libx11-xcb-dev libxcb-glx0 libxcb-glx0-dev xorg-dev libxcb-dri2-0-dev libtool autoconf zip unzip git pip vim gnome-shell-extensions tweak curl gperf libegl1-mesa-dev nasm autoconf-archive libdbus-1-dev
- 在nas上的/SynoDrive/00_视觉共享文件夹/EnvSetup路径下找到vcpkg_downloads_x64.zip,点击下载。如果你使用的是mac,请忽略。
- 在github中搜索vcpkg,clone到本地任意一个文件夹下。
- cd 进 vcpkg 文件夹。执行git checkout 2023.01.09 。
- 执行./bootstrap-vcpkg.sh。等待一会
- 将下载的vcpkg_downloads_x64.zip移动到vcpkg 文件夹内进行解压
- 在vcpkg目录下,执行
./vcpkg install opencv4[contrib,ffmpeg]
这个过程需要比较久。vcpkg会自动下载并编译opencv源码。
如遇任何问题,请查找错误提示中的报错日志文件,根据报错信息用包管理器补足缺少的软件包或更换网络~~(魔法上网)~~重试一次
当命令行出现类似
set(OpenCV_DIR "${VCPKG_INSTALLED_DIR}/x64-linux/share/opencv4")
find_package(OpenCV REQUIRED)
字样时,说明安装完成。
- 使用cmake构建项目
# 在opencv-demo中执行
mkdir build
cd build
cmake .. -DCMAKE_TOOLDCHAIN_FILE=<PATH-TO-YOUR-VCPKG>/scripts/buildsystems/vcpkg.cmake
- 编译
make
接下来,你应该能够在opencv-demo/build目录下看到一个二进制文件。
请先参考General部分的内容。
- 如果你正在使用windows/wsl,请在windows中安装vscode
- 进入windows中的vscode,点击左边的拓展图标
- 在上方的搜索框中输入”remote development”。点击第一个进行安装
- 点击左侧的小电脑图标,点击wsl进入。
- 此时左下角显示的内容应该带有WSL字样。
- 安装C/C++拓展
- 将提供的demo clone下来
git clone https://github.com/ARTINX/opencv-demo.git
- 创建.vscode文件夹,将config-vscode中的文件复制过去
- 按照注释修改.vscode/tasks.json中的CMAKE_TOOLCHAIN_FILE项
- 此时,vscode左侧“运行”一栏应该会出现debug字样。此时可以正常进行断点调试。
(断点调试:通过在代码的某一行打上断点,让代码停在某一行。)
- apt安装clangd, llvm, clang
- vscode安装clangd插件
- reload vscode窗口(ctrl+shift+p, 搜索reload window)
- 按ctrl-shift-B进行构建。构建完成后,在项目路径下执行
ln -s cmake-build-debug/compile_commands.json .
- 此时你的vscode应该能够正常提示/显示报错
-
在CLion官网下载CLion。此时你应该得到一个.tar.gz文件。
-
解压这个文件,进入bin文件夹,执行./clion.sh。
-
在JetBrain官网中认证学生身份。南科大在读学生能够免费使用JetBrain旗下的所有IDE。
-
在general步骤中的vcpkg文件夹下打开命令行,执行
./vcpkg integrate install
。将输出的-D参数复制下来。
-
用CLion打开克隆的项目。依次选择
File | Settings | Build, Execution, Deployment | CMake
。在CMake options中添加复制下来的参数。 -
点击右上角的绿色箭头。此时你的CLion应该能够正常编译并运行项目。
参见微软官方文档 https://learn.microsoft.com/zh-cn/windows/wsl/connect-usb
- 将得到的相机标定文件
<序列号>.yaml
放入./calibration
中 - 在
.vscode/launch.json
中配置运行任务需要加载的config相对路径(如"config/hik_camera.conf"
)并确认相关config的内容(如加载的exposureTime
和gain
值)绝对路径:绝对路径是从文件系统的根目录开始,提供文件或目录的完整定位。
相对路径:相对路径是相对于当前工作目录的路径。
- 编译和运行项目
海康相机驱动类,通过对海康工业相机的SDK的调用实现调用海康工业相机。 详见代码内注释
图片处理类,现有在本地读取图片方法和显示图片方法
工具函数集合,包含项目中常用的辅助函数.