[G-非接触物体尺寸形态测量] G题_辽宁赛区_大连理工大学——非接触物体尺寸形态测量

[复制链接]

0

主题

1

帖子

6

积分

一粒轻沙

Rank: 1

积分
6
查看: 290回复: 3 发表于 2020-10-27 18:56:46   只看该作者
本帖最后由 guy 于 2020-10-27 18:58 编辑

非接触物体尺形态测量(G题)
1、摘要
    物体尺寸形态的测量,在如今的工程以及日常生活中应用极广。而测量时,往往受限于一些条件,导致无法直接测量物体的尺寸形态,因而带来很大的不便。因此,非接触式地测量物体形态尺寸测量便有着极其重要的意义。
    常用的非接触式测量一般以光电、电磁等技术进行测量,结构复杂,使用不便。本系统利用STM32单片机基于串口通信连接识别摄像头,并进行数据传输,给出了较为合理的实现方案。为了显示相关的数据,32单片机还连接了相关的oled显示屏,实现了相关信息的显示。在识别摄像头部分,使用了python语言的图像识别功能,并传输图像信息,实现了整个电路的设计。
关键字: 非接触式测量  单片机  数据传输  图像识别
2、系统方案
本系统主要由单片机模块、显示模块、图像识别和检测模块组成,下面分别论证这几个模块的选择。
2.1 单片机模块的论证与选择
方案一:选择STC89C52作为主控芯片,STC89C52周期比较慢,使系统反应比较慢。同时,在串口通信协议和接收数据方面受限,无法处理传入数据并显示。
方案二:选择STM32作为主控芯片,这款单片机反应速度快,通信和通过显示屏显示所需数据的功能可行性更高。
综合以上两种方案,选择方案二。
2.2 显示模块的论证与选择
方案一:使用LCD显示屏进行显示
       LCD显示屏成本较低,但是性能不及OLED显示屏,容易产生漏光现象,显示结果较差。
方案二:使用OLED显示屏显示
       OLED显示屏显示结果明显,利用I2C通信协议可以用四针和32单片机进行良好的交互。
综合以上两种方案,选择方案二。
2.3 图像识别和检测模块的论证与选择
方案一:利用功能强大的C语言进行图像识别
      C语言功能强大,并且运行速度快,可以用以图像识别。但是C语言缺少合适的图像识别函数库,进行识别时往往代码量巨大,并且十分复杂,不适用于比赛功能的实现。
方案二:利用擅于处理图像的python语言进行识别检测
      利用openmv软件连接摄像头进行图像的识别和检测,并使用适合处理和传递像素信息的python语言以及软件中封装的函数,使得代码显得美观简洁,并且功能得以很快实现。
经过我们的考虑最终选择python语言进行图像识别与检测图形。3、设计思路
3.1 系统总体框图

省赛流程图.png



3.2 云台部分原理图

云台原理图.png


4、图像的识别与检测模块的功能描述和设计思路
4.1、程序功能描述
  可以通过摄像头抓捕信息点。
  可以进行颜色阈值的抓捕。
  可以进行给定红色、蓝色、绿色的正方形、圆形、三角形的识别并框选。
  可以通过特征判断篮球、足球和排球的区别并识别。
  可以读取相关像素点的信息及中心位置。
  可以通过USB接口传输相关信息。
4.2设计思路
   通过openmv带有的工具捕捉图像的相关颜色特征,得到需要抓捕的颜色阈值。再通过openmv封装的抓捕函数判定所给的图形,包括正方形、圆形、以及三角形,再传输抓取像素点的中心位置的相关信息,通过计算得出测量距离。实现了非接触测量的功能。
5、测量计算和结果分析
5.1距离的测量
  根据像素点和实际距离的线性关系,我们对接收到不同距离的像素点参数与实际距离进行线性拟合,得到大约在2m到3m传入像素值和距离的关系。如图的距离和像素值拟合关系图,得出了距离的计算公式。


测距数据图.png




5.2边长的测量

  由物体长度线性相似关系,摄像机测量的像素值与其测量的长度成正比,与相隔实际距离成正比,进行线性拟合得到边长公式。



边长测量数据图.png


5.3结果分析

  根据上述测试数据,所得数据误差均小于5cm实现了测距的功能。在水平移动检测中,摄像头能进行跟随功能并且可以通过抓捕色域实现检测并识别篮球、足球的功能以及由此可以得出以下结论:

  1、在所给题目的要求下,可以在所给误差允许的范围内进行测量摄像头到图形板的距离以及图形的边长或者直径并进行显示。

  2、在水平移动检测中摄像头能自动跟随所给目标并测距。
  3、能比较准确地识别篮球、足球、排球。

  综上所述,本设计达到设计要求。



0

主题

2

帖子

69

积分

一粒轻沙

Rank: 1

积分
69
发表于 2020-11-4 11:04:40   只看该作者
谢谢分享,请问能不能看看你们的代码呢

0

主题

1

帖子

6

积分

一粒轻沙

Rank: 1

积分
6
发表于 2020-11-7 22:20:01   只看该作者
陈chen 发表于 2020-11-4 11:04
谢谢分享,请问能不能看看你们的代码呢

这是我们openmv的代码,调试的参数可能需要修改,有不足之处,请您指教。

look(实测1).zip

1.85 KB, 下载次数: 3, 下载积分: 积分 -1

0

主题

1

帖子

3

积分

一粒轻沙

Rank: 1

积分
3
发表于 2020-11-15 20:43:43   只看该作者
guy 发表于 2020-11-7 22:20
这是我们openmv的代码,调试的参数可能需要修改,有不足之处,请您指教。 ...

可以分享一下32的程序代码吗
快速回复 返回顶部 返回列表