骰子定位识别

引言

一年前我还在上海从事过机器视觉软件的开发,时光荏苒。这是在公司期间做了一个有趣的项目,现讲一下其主要思想及如何实现。
先来看一下效果图,Look
这里写图片描述
嗯,看的出来,虽然背景光线不均匀,虽然骰子挨的那么近,还是很好的识别出来,程序的健壮性很强嘛。PS.为避免不必要的麻烦,我将自己的姓名和联系方式马赛克掉,嘿嘿。
这里程序的主要功能是识别出场景中存在多少粒骰子,以及每个骰子的位置,点子数,还有一些其他统计信息。当然,这只是一个机器视觉里的一个小Demo,可以继续完善。

思路

这是怎么做到的呢?这属于模式识别问题了。思路如下:

  1. 首先需要将目标(这里是整个骰子区域)从背景中正确分离出来;
  2. 将目标正确分离开来,即骰子之间要分离正确;
  3. 对单个骰子进行阈值分割,统计其中心坐标。

问题的关键点在于,第一步中如何正确将目标从背景中分离以及第二步沾黏的物体如何分离开来。

方法

顶帽变换

非均匀光照的最终结果导致了区域的分割错误(一些区域错误地分类了),且骰子的某些部分没有提取出来。顶帽变换的一个重要用途就是校正不均匀光照的影响。
顶帽(Top-hat)变换
原图像与开运算结果图之差。

dst=tophat(src,element)=srcopen(src,element)

与顶帽变换相反的是 底帽(bottom-hat)变换:
闭运算结果图与原图像之差。
dst=blackhat(src,ele
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值