亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Raspberry Pi Ball 跟踪

(注意:这是一个高级教程,不适合 linux 初学者。)

在本教程中,我将演示如何在 Raspberry Pi 上使用 OpenCV 跟踪乒乓球。只要可以从其背景中很好地检测到它,它就可以用于跟踪任何圆形物体。这对球跟踪机器人和类似项目很有帮助。

你需要的东西:

1. Raspberry Pi(安装了最新的 Raspbian,您可以从这里获取:https://www.raspberrypi.org/downloads/ 按照同一站点上的安装说明进行操作)

2. USB 网络摄像头(测试 Rasppi 支持的一个)

3.我用Linux Mint 17测试过的Linux主机(最好是Linux Mint/Ububtu)。

4. 有debian系统使用经验

第一步:初始设置

说明:

1. 建立 Rpi 连接:键盘、鼠标、网络摄像头、以太网或 wifi 加密狗、通过 HDMI 显示、电源

2. 开启你的 Rpi

3. 在 Rpi 上启动到 raspbian GUI(Raspbian 启动到 GUI)

4. 打开终端并安装 OpenCV(按照 Trevor Appleton 的优秀指南验证是否正确安装了 OpenCV 在 Rpi 上安装 OpenCV)

5. 使用 scp 或使用闪存驱动器将文件“bdtct.py”复制到 rpi 中的主文件夹。

第 2 步:运行代码(也就是有趣的部分)

在你的 rpi 终端中,导航到你复制 bdtct.py 的文件夹

2. 运行以下命令:

须藤python bdctc.py

那应该像上图那样打开 5 个窗口

3. 将乒乓球(如果可能,使用黄色的)放在网络摄像头前。

5. 在“跟踪”窗口中应跟踪球。如果没有,分别调整“HueComp”、“SatComp”、“ValComp”窗口中的滑块,使“关闭”窗口中只有乒乓球区域显示为白色(参考上图)。您可能需要进行一些实验才能使其正常工作。记下它适用于您的滑块的值,您可以稍后在 bdtct.py 中编辑它们。

第三步:理解算法

在文本编辑器中打开 bdtct.py 文件。

bdtct.py 代码执行以下操作:

1.通过“cap =cv2.VideoCapture(-1)”获取输入

2.将视频帧重新调整为320×240的较小尺寸,以便我们的rpi每秒可以输出更多帧。

3. 使用相应的最小和最大滑块创建窗口“HueComp”、“SatComp”、“ValComp”等视觉元素。

4. 将输入从 BGR 转换为 HSV 系统“hsv =cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)”

5. 拆分色调、饱和度和值分量。

6. 根据相应的 min 和 max 滑块定义的阈值范围对每个组件进行阈值处理,以获得二值阈值图像(见上图)

7. 将阈值化的色调、饱和度、值分量进行逻辑与运算,得到一个粗略的二值图像,其中只有乒乓球的像素是白色的,其余的都是黑色的。 (见上图)

8.平滑ANDed图像“关闭=cv2.GaussianBlur(关闭,(5,5),0)”

9.使用HoughCircles检测图像中的圆圈

10. 在原始输入框上绘制检测到的圆圈。

欲知更多详情:Raspberry Pi Ball 跟踪


制造工艺

  1. 基于树莓派的气象站
  2. Raspberry Pi 上的温度监控
  3. Raspberry Pi 2 气象站
  4. 使用 Raspberry Pi 监测温度
  5. 树莓派 2(德克萨斯州埃尔帕索)上的 Neon A Shop Open/Closed Makerspace 标志
  6. 带 RPi 的线跟踪传感器
  7. Raspberry Pi Universal Remote
  8. 一片树莓派
  9. Cycle Chaser
  10. 使用树莓派进行平移/倾斜面部跟踪
  11. Raspberry Pi Thief Detector
  12. Raspberry Pi 温度传感器