The functions described in this section compute the proximity (similarity) measure between an image and a template (another image). These functions may be used as feature detection functions, as well as the components of more sophisticated techniques.
There are several ways to compute the measure of similarity between two images. One way is to compute the Euclidean distance, or sum of the squared distances (SSD), of an image and a template. The smaller is the value of SSD at a particular pixel, the more similarity exists between the template and the image in the neighborhood of that pixel.
The squared Euclidean distance
r,c) between a template and an image for the pixel in row
cis given by the equation:
r,c) is the image pixel value in row
j,i) is the template pixel value in row
i; template size is
tplRowsand its center is positioned at (
The other similarity measure is the cross-correlation function: the higher is the cross-correlation at a particular pixel, the more similarity exists between the template and the image in the neighborhood of that pixel.
r,c) between a template and an image at the pixel in row
cis computed by the equation :
The cross-correlation function is dependent on the brightness variation across the image. To avoid this dependence, the correlation coefficient function is used instead. It is defined as:
twith the overline is the mean of the template, and
xwith the overline is the mean of the image in the region just under the template.
All Intel IPP proximity functions compute
normalizedvalues of SSD, cross-correlation and correlation coefficient that are defined as follows:
denote the autocorrelation of the image and the template, respectively:
Normalized correlation coefficient
denote the autocorrelations of the image and the template without constant brightness component, respectively: