Why ssim and corr2 give totally different results
5 views (last 30 days)
Show older comments
Coryn Melissa LLamoza Carabali on 25 Oct 2020
Answered: Raunak Gupta on 3 Dec 2020
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
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
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.
Find more on Region and Image Properties in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!