2023电赛运动目标与跟踪控制系统图像方案(基于树莓派4B——OPENCV解决方案)

2023年电赛---运动目标控制与自动追踪系统(E题)OpenCV方案 找黑框和红点(树莓派完整代码)在树莓派上运行opencv。识别铅笔线,并画出来。 阅读详情

 


前言

笔者今天几乎完成了去年电赛图像识别的部分,如果用opencv的话确实会简单不少,我们只需要识别外矩形框以及内矩形框的8个顶点,还有中心点以及激光点的坐标发送给stm32,基本就已经完成了这个题目视觉的部分,在之前笔者进行了opencv的入门,学习一段时间后做了银行卡号识别的项目才开始真正做这道题的图像,希望我的思路可以帮助到大家。

先展示一下效果

022c67241bc742ff8ce2b4c4d217a40e.png

一、识别黑色电工胶带八个顶点(外边框4个内边框4个)

我们识别这个黑色边框的步骤主要就是以下几个步骤

1.图像灰度化

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

2.Canny边缘检测

先二值化图像随后进行边缘检测

lurred = cv2.GaussianBlur(gray, (5, 5), 0)
edges = cv2.Canny(blurred, 30, 60)

3.轮廓检测

我们需要消除图像中由噪声引起的小面积边缘轮廓。

# 轮廓检测
    contours, _ = cv2.findContours(edges, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE)
    # 去除面积小的轮廓
    filtered_contours = [cnt for cnt in contours if cv2.contourArea(cnt) > 50]  # 可根据实际情况调整阈值

 

4.近似多边形

 rect_contours = []
    for cnt in filtered_contours:
        epsilon = 0.02 * cv2.arcLength(cnt, True)
        approx = cv2.approxPolyDP(cnt, epsilon, True)
        if len(approx) == 4:  # 近似为四边形(可能是矩形)
            rect_contours.append(approx)

    detected_rect_contours = rect_contours  # 保存检测到的矩形轮廓

把近似成矩形的轮廓保留下来,其他的全部舍弃。

5.绘制矩形轮廓

# 绘制矩形轮廓
    for i, rect_contour in enumerate(detected_rect_contours):
        if i == index_to_delete or i == index_to_delete_2:  # 如果是要删除的索引,跳过
            continue
        area = cv2.contourArea(rect_contour)

        if area > 40000:
            cv2.drawContours(frame, [rect_contour], -1, (255, 0, 0), 2)  # 面积大于 40000 用蓝色绘制
        else:
            cv2.drawContours(frame, [rect_contour], -1, (0, 255, 0), 2)  # 其他用绿色绘制

这里笔者把轮廓分成了两部分,一部分是外层的一部分是内层的,通过面积进行区分。

6.找到矩形顶点

基于树莓派的边缘端 AI 目标检测、目标跟踪、姿态估计 视频分析推理 加速方案:Hailo with ultralytics YOLOv8 YOLOv11 Hailo 发布的 Raspberry Pi AI kit 加速原理,有几篇文章介绍的不错。建议把 下面的装上。 阅读详情

相关推荐

STM32入门教程:物体追踪

4.5. 控制输出 根据物体的位置和姿态,可以通过串口或其他适配器输出控制信号,驱动电机或其他执行机构进行相应的操作,实现物体追踪的控制。以上代码实现了 STM32 的基本初始化和 UART 配置,并提供了一个基础的 main() 函数供您实现物体追踪的代码逻辑。请注意,以上步骤仅为示例,实际的物体追踪算法可能更加复杂,根据您的具体应用需求进行相应的优化和调整。4.4. 特征匹配 将提取到的特征与预先定义的模板进行匹配,以确定物体的位置和姿态。入门教程:物体追踪的 STM32 代码示例。

wx_linying1029的博客 779

2023年电赛E题(运动目标控制与自动追踪系统)——视觉部分以及总结

2023年电赛E题——图像处理

LJ2668228734的博客 3733

2023电赛运动目标控制与自动追踪系统

本系统以STM32F103C8T6单片机最小系统作为控制核心,由K210视觉模块,激光笔模块,舵机云台模块,降压模块等模块组成。红色激光云台通过建立云台坐标与实际视觉坐标的映射关系,可实现原点复位功能,绕屏幕边框运动,可以识别屏幕任意位置角度的A4靶纸,并做到控制红红色光斑沿靶纸黑色边框做顺时针移动。绿色激光云台可实时识别红色激光落点,控制绿色激光点完成对红色光斑自动追踪,追踪响应时间小于2 秒。系统功能通过按键独立控制,且均设有急停按钮,可随时切换,急停。系统具有半自动机械校准模式,以达到更精确的运动目标控制指标。系统结构简单,稳定性好,易于使用。

基于stm32+opencv设计的人脸追踪系统(毕设/课设/竞赛/实训/项目开发)

人脸追踪系统,使用的上位机为jetson,下位机stm32控制180度的舵机,舵机上有载有usb摄像头【python,c】.zip嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能

IEC61850客户端连接实战:CMS vs MMS协议抓包对比与性能初探(基于YX-PIS协议栈)

本文深入探讨了IEC61850客户端连接中CMS与MMS协议的抓包对比与性能优化。通过Wireshark抓包分析、协议栈配置实战和性能基准测试,揭示了两种协议在连接建立、数据交互和性能调优方面的关键差异,为智能电网自动化系统的协议选择提供了实用指南。

weixin_29209805的博客 206

把群晖NAS变成游戏开发服务器:Perforce与虚幻引擎深度整合的5个关键配置(含.p4ignore模板)

本文详细介绍了如何将群晖NAS配置为游戏开发服务器,重点讲解了Perforce与虚幻引擎的深度整合。通过五个关键配置节点,包括用户权限架构、Workspace策略、资产同步优化、仓库清洁度保障和编辑器深度集成,帮助小型团队打造高效开发环境。文章还提供了实用的.p4ignore模板和优化技巧,显著提升开发效率。

weixin_30430677的博客 313

Python地理空间数据库之geopandas使用详解

地理空间数据分析在许多领域中都有着广泛的应用,包括地理信息系统(GIS)、城市规划、环境科学、地质勘探等。Python GeoPandas是一个强大的库,旨在简化地理空间数据的处理和分析。本文将深入介绍GeoPandas库,包括其基本概念、功能特性、示例代码以及在实际应用中的应用场景。

Rocky006的博客 1万+

of_graph_get_remote_port

isp { compatible = "isp"; core@0 { id = <0>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; ...

wmzjzwlzs的专栏 1159

Matlab R2018b简体中文版完整安装图文教程(附安装包下载)

目 录 一、安装过程 二、下载地址 matlab R2018b安装包如下所示,包括主程序和补丁文件两部分。 一、安装过程 双击安装包中的setup.exe。 选择使用文件安装MIYAO,点击下一步。 接受协议,选择是,点击下一步。 输入序列号:09806-07443-53955-64350-21751-41297,点击下一步。 修改安装路径,点击下...

智慧空间实验室 1万+

【AFAC2026金融智能-赛题四】我做了一个疯狂的决定,把Embedding和Reranker全删了

本文介绍了AFAC2026金融智能挑战赛赛道四的解题思路,核心是在500万token的严格限制下实现金融长文本的高效问答。作者通过四步流水线(规划、BM25检索、记忆压缩、LLM推理)优化流程,重点创新在于: 采用零API调用的纯BM25检索,配合多路查询、封面页加权和页面邻接扩展等策略 设计高效的检索算法,从问题中提取专有名词并构建多路查询组合 深入理解评分公式,平衡准确率和token消耗,最终在准确率提升的同时将token消耗从数百万降至百万级 这些创新使方案在严格限制下实现了性能突破,展示了在资源受限

216

马达种类全解析:VCM、Stepper、Piezo 在手机相机中的驱动原理与工程差异

在现代手机影像系统中,马达承担着核心成像组件的动态调节任务,如自动对焦(AF)、光学防抖(OIS)以及变焦调节。目前主流采用三类驱动器件:VCM(Voice Coil Motor)、Stepper(步进马达)、Piezo(压电马达)。不同马达方案在结构复杂度、响应速度、功耗、驱动方式与模组厚度适配等方面差异显著,对成像系统的性能表现有直接影响。本文将结合最新旗舰设备的应用现状,系统剖析这三类驱动马达的工作原理、架构特点与工程应用经验,为工程实践中选型与调试提供参考。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3747

YOLOv11改进 | 主干/Backbone篇 | 利用RT-DETR主干网络PPHGNetV2助力yolov11有效涨点(轻量化目标检测网络)

本文给大家带来利用RT-DETR模型主干HGNet去替换YOLOv11的主干,RT-DETR是今年由百度推出的第一款实时的ViT模型,其在实时检测的领域上号称是打败了YOLO系列,其利用两个主干一个是HGNet一个是ResNet,其中HGNet就是我们今天来讲解的网络结构模型,这个网络结构目前还没有推出论文,所以其理论知识在网络上也是非常的少,我也是根据网络结构图进行了分析(精度mAP提高0.05)。YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备​目录一、本文介绍。

Snu77的博客 3709

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: 树莓派与stm32通信超详细解答过程
下一篇: 在2024年部署Yolov5到本地(包含部署以及训练全过程,绝对保姆)
Blaze my Future
博客等级 码龄4年 220粉丝 6原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值