Why ssim and corr2 give totally different results
10 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
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.