基于边界梯度的模板匹配算法

最近在做课程作业时,老师要求利用边缘信息进行几何形状芯片的匹配,即给定一个几何形状的形状让其与另外的模板进行匹配,就是模板匹配问题。在OpenCV库中有专门的模板匹配函数matchTemplate,它是利用的图像的像素信息,不符合老师要求的利用边缘信息。网上关于基于边缘信息进行模板匹配的资料不多,最后找到了一名印度工程师做的工作《Edge Based Template Matching》(https://www.codeproject.com/Articles/99457/Edge-Based-Template-Matching),相关的信息可以从下面两个博客进行查阅。

https://blog.csdn.net/huixingshao/article/details/45560643

https://blog.csdn.net/liurong_cn/article/details/7863825

算法的核心在我看来是首先获取待匹配图像的边缘梯度,然后在模板图像中逐点进行比对,按照一个特定的公式衡量匹配度,直到找到匹配度最高的位置。原始程序是基于C语言进行编写的,我将其主文件和部分主要的子函数改编成C++语言,程序链接为

https://download.csdn.net/download/shhuikai/10496796

该项目在vs2015+OpenCV3.1.0配置下运行成功。

基于边界梯度的模板匹配算法_第1张图片基于边界梯度的模板匹配算法_第2张图片基于边界梯度的模板匹配算法_第3张图片

你可能感兴趣的:(计算机视觉)