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

【源码】基于OpenCV和Raspberry Pi的颜色物体追踪系统

项目简介

本项目名为OCTO - pi,结合了Raspberry Pi和OpenCV库,利用摄像头视频流与OpenCV图像处理技术,实现对特定颜色物体的自动追踪。支持颜色识别训练和PID控制器动态参数调整,可用于四轴飞行器等的方向控制。

项目的主要特性和功能

  1. 颜色识别:借助HSV颜色空间精准识别物体,用户能通过界面设定颜色阈值。
  2. 物体追踪:识别物体后,利用PID控制器调整输出,使摄像头持续对准物体。
  3. PID参数调整:运行过程中可动态调整PID控制器参数,以达最佳控制效果。
  4. 友好操作:提供图形界面和按键控制,便于用户操作和调整参数。

安装使用步骤

编译项目

下载项目源码文件后,在项目目录下使用以下命令编译: sh g++ OCTO-pi.cpp -o OCTO-pi -I/usr/local/include/ -lraspicam -lraspicam_cv -lopencv_core -lopencv_highgui -lopencv_features2d -lopencv_imgproc -lpigpio -lpthread -lrt -std=c++11

硬件连接

  1. 将Raspberry Pi Camera连接到Pi的CSI端口。
  2. 若使用PiTFT则插入,若不使用则将三个按钮连接到GPIO #6、#12和#13的GND(BCM编号)。
  3. 将飞行控制器的偏航信号输入(白色)连接到GPIO #17。
  4. 将飞行控制器的偏航接地(黑色)连接到Pi的GPIO GND。
  5. 通过microUSB电源端口为Pi供电。

运行程序

  1. 在Raspberry Pi上运行OCTO - pi: sh sudo./OCTO-pi 注意:需要超级用户权限进行GPIO控制。
  2. 当Pi开始输出中性PWM(显示Initialising PIGPIO and neutral throttle... Done)时,将飞行控制器的偏航电源输出(红色)连接到Pi的5V引脚,并移除microUSB电源。

自动化启动(可选)

若要在开机时自动启动,可在/etc/rc.local文件中添加: sh sudo startx /path/to/OCTO-pi

使用操作

设置阶段

运行OCTO - pi后,出现窗口并显示Taking preliminary image for colour recognition...,程序会从摄像头捕获一帧并显示。使用滑块设置HSV值,直到小预览中绿色圆圈圈住物体。按引脚12上的按钮(#12)可重新拍照。完成后,通过按(#6)启动四轴飞行器,按(#13)继续,再次按(#6)可解除启动。

运行阶段

OCTO - pi会通过PWM控制四轴飞行器偏航,使其指向有色物体。按(#6)启动四轴飞行器,再次按(#6)解除启动;按(#13)退出程序;按(#12)返回颜色训练。

PID调整

运行过程中支持PID参数调整(需连接键盘): - 增大P增益:(p) 减小P增益:(o) - 增大I增益:(i) 减小I增益:(u) - 增大D增益:(y) 减小D增益:(t)

运行程序前,请确保所有硬件设备正确连接且功能正常。为获最佳效果,建议使用前校准摄像头。

下载地址

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