济宁学院Robomaster凌云战队视觉开源程序

Robomaster凌云战队-视觉组

随着2019第一届江苏省robomaster校际联盟赛已经结束好多个月了,保持着开源的态度,将凌云战队第一个版本(即省赛视觉程序)的视觉程序作了整理和分析

相机介绍

在这里插入图片描述
采用了海康威视 30万像素USB3.0彩色工业相机MV-CA003-21UC 。分辨率 为640×480,最的大帧率 814 fps,曝光时间 40 μs ~ 10 sec。之所以考虑使用这款相机,是因为他的高帧率,视觉讲求定位的准确性和速度,由于这款相机帧率高的特性才造就了本程序能在10毫秒以内做完一帧图像处理。

展示一下相机的强大拍摄效果

先来一张装甲板原图

在这里插入图片描述
再上我们相机拍出来的效果
在这里插入图片描述

视觉处理设备

视觉处理设备采用Intel的nuc小型主机,采用8代i5低压处理器,之所以采用nuc主要还是因为资金问题,放弃Nviaia的妙算采用经济型的nuc小主机,这也导致后续的识别程序只能采用cpu来运行,而选择了opencv来做本程序。

来一张nuc特写

在这里插入图片描述

程序关键点介绍

开发环境采用 ubuntu16.04系统,opencv-python3.4.2.16,采用python开发语言。

程序分析

1、调用海康的相机sdk获取到图像
2、将rgb图像转换成hsv,hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)通过cvtColor函数将图像转化成hsv图像,mask = cv2.inRange(hsv, lowerb=lower_hsv, upperb=upper_hsv)通过imRange函数和最低阈值和最高阈值过滤掉己方的颜色找到对方颜色。当己方是蓝色对方是红色时做完hsv处理后的图像如下图

在这里插入图片描述
3、将图像做提取,dilation, contours, hierarchy = cv2.findContours(img, cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)通过findContours找轮廓和坐标。通过图像的长和宽做面积计算,通过提取到的图像的长宽做外接矩形的面积计算,通过面积的比例关系做优化打击计算,通过面积的比例可算出距离的远近用于距离的判断,优先打击距离近的目标。通过两个灯柱左上角的坐标值找到相机视野中的装甲板的中心坐标。
4、传值,将计算出来的坐标值通过串口传给a板。发射管的准星调整到相机的视野中心,a板获取值后将准星移到计算的坐标点上完成瞄准任务。附一张A板图片
在这里插入图片描述

关键点介绍完成附一个程序地址
github代码仓库地址

来一张我们步兵的帅照

在这里插入图片描述

放一下步兵自瞄的视频

步兵自瞄视频.MP4

最后放几张比赛的照片凑个牌面

在这里插入图片描述
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值