comparing two images quantitavely

4 次查看(过去 30 天)
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

采纳的回答

Image Analyst
Image Analyst 2016-11-9
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 个评论
Image Analyst
Image Analyst 2016-11-14
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.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by