Azzera filtri
Azzera filtri

comparing two images quantitavely

4 visualizzazioni (ultimi 30 giorni)
I want to compare a number of images with a reference image to determine which image matched the reference image most. I think getting a number out of this comparison can be useful. Here is the code:
I1 = imread('I1.jpg');
I2 = imread('I2.jpg');
obj = imshowpair(I1,I2, 'diff')
obj.CData
Avg = mean (mean(obj.CData))
Is it possible to use the CData information for this comparison? Am I doing this right? I also couldn't find what kind of information is stored in CData. And is there any better way to quantify this comparison?
Thank you

Risposta accettata

Image Analyst
Image Analyst il 9 Nov 2016
No, that's not right. You'd better off using ssim(), immse(), or psnr(). Or MAD: https://en.wikipedia.org/wiki/Median_absolute_deviation, https://en.wikipedia.org/wiki/Average_absolute_deviation
  3 Commenti
Image Analyst
Image Analyst il 14 Nov 2016
CData is the pixel values of the image displayed in the axes. It seems to be the actual pixel values, not the 24 bit RGB values, so it you displayed a floating point image in the range 1000 to 123456, it would give you those numbers back, not numbers in the 0-255 range.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by