machinevisiontoolbox.Image.zncc

Image.zncc(image2)

Zero-mean normalized cross correlation

Parameters:

image2 (Image) – second image

Raises:

ValueError – image2 shape is not equal to self

Returns:

normalised cross correlation

Return type:

scalar

Returns an image similarity measure which is the zero-mean normalized cross-correlation between the image and image2. The result is a scalar in the interval -1 (non match) to 1 (perfect match) that indicates similarity.

Example:

>>> from machinevisiontoolbox import Image
>>> img1 = Image([[10, 11], [12, 13]])
>>> img2 = Image([[10, 11], [10, 13]])
>>> img1.zncc(img2)
0.7302967433402214
>>> img1.zncc(img2+10)
0.7302967433402214
>>> img1.zncc(img2*2)
0.7302967433402214
Note:
  • The zncc similarity measure is invariant to affine changes (offset and scale factor) in image intensity (brightness offset and scale).

References:
  • Robotics, Vision & Control for Python, Section 11.5.2, P. Corke, Springer 2023.

Seealso:

zncc sad ssd