## tracking correlation coefficient (linear and non-linear) between two images

### Alex (view profile)

on 25 Apr 2013

When I apply corr2 to two similar images (delay between two consecutive images of 1s) it gives correlation coef. close to 0.99 but when I use corr2 for two similar flat field normalized images (delay around 1s between the images) correlation coef. is close to 0. Why is that? Do I have any options other than the built-in corr2 to determine the degree of correlation between two images? I would like to try several approaches to track the correlation between two images (linear and non-linear correlation).

## Products

### Anand (view profile)

on 25 Apr 2013

You're probably making a mistake with the normalization.

Here's an example that doesn't change the correlation coefficient:

```im1 = imread('cameraman.tif');
im2 = imnoise(im1,'gaussian');
corr2(im1,im2) %0.9286
im1n = double(im1)./sum(sum(double(im1)));
im2n = double(im2)./sum(sum(double(im2)));
corr2(im1n,im2n) %0.9286
```

Alex

### Alex (view profile)

on 25 Apr 2013

thank you for the answer, by the normalization I mean division of one image (data) by another image (reference) to reduce effect of different pixel sensitivity in CCD camera. corr2 always gives a value close to 0 even though the images after the normalization are identical. Maybe, linear correlation is not the best way to compare normalized images?

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test