基于形状的匹配提纲

基于形状的模板匹配

关键:形状,其实就是canny找出来的线条集合

1,canny线条

2,模板的线条(基于canny)

3,高斯金字塔,加速高斯法

4,没有旋转和尺度时,匹配一个有得分的结果,界定匹配的粗位置(限定矩形)

5,旋转模板所有线条,任何角度,产生一个所有线条外接矩形(参考轮廓的外接矩形),然后在原图的界定匹配的粗位置(限定矩形,匹配存在的限定区域)去找

6,尺度(缩放比例)界定在0.79-1.26之间,如果你是以4sigma的高斯金字塔工作的,即上一层高斯金字塔是2*k^2*sigma,下一层高斯金字塔是2*k^4*sigma;当前层是2*k^3*sigma,因为k^3=2,所以2*k^3*sigma=4sigma,显然2*k^2*sigma/(2*k^3*sigma)=1.58/2=0.79,

2*k^4*sigma/(2*k^3*sigma)=1.26*2/2=1.26.所以,高斯金字塔解决了大问题!

7,关于6的解决,要求三层高斯金字塔,这样太慢了,思路是模板所有线条上的每一个点的放大1.26或缩小0.79,通过log金字塔和dog金字塔的关系,可以算出来.这样就会快很多。

即就是:[G(x,y,k*sigma)-G(x,y,sigma)]/[(k-1)sigma]\approxsigma(\frac{\partial^2 I}{\partial x^2}+\frac{\partial^2 I}{\partial y^2}),应该是近似等于。

 第七步,我程序还未完成,希望你能赶在我前头。

一直不想用笨办法,觉得太慢,到最后还是绕不开,最后发现,效率都从笨办法的优化中而来

笨办法思路:

a,模板在原图中一个一个找,一般情况要找原图的大半,按75%算,1024*768按800*600=480000次。(我们优化后,在限定区域去找20*20的范围,可以继续压缩这个空间)

b,产生360度的模板,一共360个,搜索次数=480000*360,吓死个人(-45度+45度就可以了,砍价到+-8度)

c,再加上0.79-1.26的尺度缩放,0.1一个,至少30个吧,480000*360*30,死都不想走的路!但是最后还是走了!(优化到3个)

400*90*3=108000,其实在工业应用中(工业精度一般会设计到一个范围之内,关于尺度变化,工业中就不要想了),通常可以继续压缩这个结果(正负8个像素,+-8度之间)16*16*16*3=12288次(大概1万的样子,工业中的话16*16*16=4096次就够了!)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值