MATLAB: Is the SSIM value quite low for two same images

image processingsimilarityssim

I have two images, taken back to back from a camera without disturbing the setup and keeping everything constant. But when I try to find out the SSIM value between the two images, it comes out to be 0.4609. I want to know what would be a reason for this.
I have attached the two images.
Thanks in advance.

Best Answer

The issue is that you are using double() to convert the image to double format. The correct function to use here is im2double(). double() just convert to double data type, whereas im2double() also scale image intensities between 0 and 1.
Change
idealimage = double(imread([path_name image_file]))
to
idealimage = im2double(imread([path_name image_file]))
and similarly at other locations.