多角度模板匹配的模板创建技巧

        基于形状的模板匹配角度范围通常为360°,如果角度步长为1°,就需要准备360个模板,再加上金字塔层级,准备的模板个数会多达上百个,这样无疑对模板的存储和读取都极为不利,一是占据很大的内存,二是极其耗时,光是读取模板的时间就比整个匹配时间长。那么有没有办法可以解决这个问题呢?我想到的办法是只存储0°时各层金字塔下的模板,在匹配时根据需要对其实时变换(旋转+缩放),应用后的效果是很不错的。

        下面是模板图像和各层金字塔下提取的特征点。

多角度模板匹配的模板创建技巧_第1张图片

模板图像

多角度模板匹配的模板创建技巧_第2张图片

pyramid level=1

多角度模板匹配的模板创建技巧_第3张图片pyramid level=2

多角度模板匹配的模板创建技巧_第4张图片pyramid level=3

多角度模板匹配的模板创建技巧_第5张图片 pyramid level=4

多角度模板匹配的模板创建技巧_第6张图片

pyramid level=5

多角度模板匹配的模板创建技巧_第7张图片

pyramid level=3,  rotate angle =30°

        上面提取到了所有特征点的位置和方向,接下来在匹配时需要哪个角度的模板,直接绕几何中心旋转得到,由于提取到的坐标为浮点数,旋转过后也是浮点数,且多个特征点可能落到一个像素里,这时进行插值并取整,最终得到整数坐标的特征点。

         下面是匹配效果,360个角度的模板匹配通常耗时在20毫秒左右,图像比较大时(超过2000x2000)耗时会显著增加,如何减少耗时还在研究中,减少特征点是一个方向,大家如果有好的想法可以多交流讨论哦!

多角度模板匹配的模板创建技巧_第8张图片

 多角度模板匹配的模板创建技巧_第9张图片

 多角度模板匹配的模板创建技巧_第10张图片

 多角度模板匹配的模板创建技巧_第11张图片

 多角度模板匹配的模板创建技巧_第12张图片

 多角度模板匹配的模板创建技巧_第13张图片

你可能感兴趣的:(计算机视觉,计算机视觉,图像处理)