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

4 vues (au cours des 30 derniers jours)
Alex
Alex le 25 Avr 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).

Réponses (1)

Anand
Anand le 25 Avr 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
  1 commentaire
Alex
Alex le 25 Avr 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?

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by