归一化积相关是一种典型的基于灰度相关的算法,具有不受比例因子误差影响和抗白噪声干扰能力强等优点。
它使用的相似性度量定义如下:
R即为相似性的度量值,该值越大,代表相似性越大。T是模板,S是搜索图。将模板图T放在搜索图S上平移,模板覆盖下的那块搜索图叫做Sij,(i,j)为这块子图左上角像点在S图中 的坐标,称为参考点。式中分子位置的项是子图像和模板的互相关,随(i,j)的改变而改变,分母的第二项表示的是模板的总能量,第一项表示的是子图S的总能量。当T和Sij匹配时,R即为最大值。
我用opencv在VS2008中编写了一段程序,程序如下:
#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include "highgui.h"
#include <math.h>
IplImage *src_gray1, *src_gray2, *src_gray3;
IplImage *T_gray1, *T_gray2, *T_gray3;
IplImage* S_img,*Match_image;
void AllocateImage(IplImage* I,IplImage* T) //给图像分配大小
{
CvSize sz = cvGet