littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Python和C++的佳能相机移动跟踪系统

项目简介

本项目构建了一个基于佳能相机所捕获图像来移动相机的系统。系统能跟踪物体位置并移动相机,确保物体始终处于相机画面内。主要由三部分构成:由步进电机驱动、Arduino Uno控制的3D打印云台;通过USB连接相机、运行物体识别服务器程序(提供Python和C++两种实现)的树莓派;可通过网络连接树莓派、查看捕获帧和跟踪物体当前位置并选择感兴趣区域的笔记本或台式机配套应用程序。

项目的主要特性和功能

  1. 多语言实现:物体识别服务器程序有Python和C++两种实现,便于开发者按需选择,研究不同语言对性能的影响。
  2. 物体跟踪:利用OpenCV对用户选择的物体进行位置跟踪,支持CSRT、KCF和MIL等多种跟踪算法。
  3. 云台控制:通过Arduino Uno控制步进电机驱动的云台,依据物体位置移动和倾斜相机。
  4. 配套应用:提供桌面应用程序,可查看相机捕获的帧和跟踪物体的位置,选择感兴趣区域。

安装使用步骤

假设用户已经下载了本项目的源码文件。

1. 安装Arduino程序

  • 打开Arduino IDE,使用库管理器安装以下库:
  • AccelStepper
  • TMCStepper
  • 打开microproccesor目录下的Arduino程序,编译并上传到Arduino Uno。

2. 安装物体识别服务器(Python)

  • 进入raspi目录,执行以下命令安装依赖: bash pip3 install -r requirements.txt
  • 编辑main.py文件中的配置选项,如HEADLESSTRACKER等。
  • 使用Python 3解释器运行main.py文件: bash python3 main.py
  • 在非无头模式下,使用热键T选择跟踪区域,A连接Arduino,Q退出程序。

3. 安装物体识别服务器(C++)

  • 安装依赖:
  • OpenCV 4:可通过Linux发行版的包管理器安装,或参考install-opencv.sh从源码安装。
  • Boost ASIO:通过Linux发行版的包管理器安装。
  • 进入raspi目录,使用cmakemake编译程序: bash cmake . make
  • 直接运行生成的可执行文件。

4. 安装GUI配套应用程序

  • 进入companion目录,执行以下命令安装依赖: bash pip3 install -r requirements.txt
  • 编辑companion.py文件,指定服务器地址和类型。
  • 使用Python解释器运行companion.py文件: bash python3 companion.py
  • 使用热键T选择跟踪区域,A连接Arduino,Q退出程序。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】