6.1关于小车识别三角形判断距离的学习

首先我们确定思路:

由于是照片,不是单纯三角形的图像,有很多杂七杂八的干扰项目。使用opencv实现整个目标。

       首先,识别图片,从图片中识别到我们要的三角形,排除其他的杂项。识别到之后,读取三角形三个角的坐标。由于赛方给我们的是一个等腰三角形。长这样:

这样就一定有他的底边是最短的。取到坐标之后算出三条边的长度,取最短的那一条代表整体大小。

      取到大小之后,我们通过最短边在图片中算到的距离与实际距离相比求距离,公式为:

距离=(相机焦距✖三角形实际大小)➗从图片中算出的大小

由于赛方没给相机焦距,要自己求,这里可以通过他给的几张测试图片和距离求出相机焦距:

相机焦距=(从图片中算出的大小✖距离)➗三角形实际大小

在opencv上实现:首先将图片转成二值化,这样方便得到三角形边框,再代入上面的公式就可以得到:

具体操作可以去看其他人博客。

识别颜色:首先识别颜色要在三角形方框以内,我们只要取三角形内任意一个像素点识别就可以了,刚刚得到了三角形三个点的坐标,那我们把他平均一下,就可以得到三角形中点的坐标,然后将中点的坐标转成hsv来识别,hsv有三个参数,我们只取第一个参数颜色就可以了。

我这里:

红色:0~10

蓝色:100~130

绿色:50~80

黄色:15~40

最后效果:

这是识别距离为38cm的三角形,误差在5%范围以内,准确识别到绿色。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值