再讲三个问题:
1,匹配中尺度变化的问题
2,自己要能发现问题
3,从这个原始版本,你可以逐渐追赶上visionpro的速度,这个有点像掂足球,大学考试掂足球,10下及格,好焦虑呀,5个都练不出来,这个其实就是0到1的过程,这个过程对我来说就是这个原始版本的基于形状匹配。至于改进,每个人的天赋不一样,尽情发挥!
关于尺度问题,我们计算过0.79-1.21的缩放,可以不必做任何改动,我们已经试验和证明,相关的过程,我已经写过相关的博文,在csdn中,你去搜索。
从+-10度,到+-45度,是一样的,我的最终版本就是+-45度0.79-1-21尺度缩放,与visionpro保持一致,速度上(如果用我的c++版本,速度比visionpro还快),最新的版本megauging(自己的机器视觉软件,已经发布出来)中可以用。
另外,你在这里边,没看到亚像素匹配,这个原因你可以自己去分析,不是我没考虑,而我是做过了选择。
关于第二个,自己要能发现问题,当我写完这几篇,我才发现,是有问题的,但并不影响0到1的分享,刚开始的时候,我做了4sigma和8sigma两个版本的高斯平滑,4sigma就是256*192的处理,而为了追求速度我也使用了8sigma,iir高斯处理后的图像是128*96.
除了写死的地方,代码是一样的。这些地方你要自己找,并调试出来,否则这怎么叫学习(learning)?那么自然也就匹配(match)不了!
所以learning opencv是一种工具,而我这是一种学习成为自己的过程,因为我们抄的太多,抄错的也太多,人能成为自己,或者说找到自我,光靠抄是不行的!
抄和应用,不能否认,也是入门的妙法!(抄ni,抄evison,抄visionpro,抄halcon,抄learning opencv)因为我们也是这样tang过来的!但这里的抄与那个抄意义已经不同,你要抄成自己的,就得下功夫!