Clear Filters
Clear Filters

Why ssim and corr2 give totally different results

25 views (last 30 days)
Hi, new to matlab and although I have read the definition of both functions. I still can't really understand why ssim always gives values close to 1, like all images are super similar. While it's clearly that the images are changing a little. corr2 seems to be more reliable, but need to explain the 'why'. Does somebody have an Idea?
Thank ypu very much in davance
  1 Comment
Mathieu NOE
Mathieu NOE on 26 Oct 2020
maybe it would be helpful to share your code and explain what you are looking for
all the best

Sign in to comment.

Answers (1)

Raunak Gupta
Raunak Gupta on 3 Dec 2020
The corr2 gives a simple correlation between two matrices which is highly dependent on the values present in both the matrices, even a slight noise can suggest that both the images are very different (and there will be a drop in peak value of correlation matrix).
Whereas ssim is much more extensive and robust due to different properties modeled for finding similarity between two images. You will see cross-correlation is one of them, but certainly other terms are also there in the formula mentioned here. That is why if there is a lot of change in the structure and luminance of the image then only the ssim score will be low. You may have a look at the reference mentioned here.

Community Treasure Hunt

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

Start Hunting!