MATLAB: Divide one image by another image

image analysisimage processingImage Processing Toolbox

I am working with two Geotiff images that have 16 bit depth. I need to estimate a ratio by using those images with equation such as below:
Ratio = (image1-image2)/(image1+image2);
The resulting ratio should be in the range of 0 to 1, but I am getting zero for all the pixels. I assumed it might have to do with image type conversion, so tried converting those images into double before estimating the ratio (as below), and it is still giving me zero for all pixels.
Ratio = (im2double(image1) - im2double(image2))/(im2double(image1) + im2double(image2))
What should be done to address this problem. Thanks.

Best Answer

Use dot slash instead of slash. Also use double() instead of im2double() because I'm not sure if im2double() scales each image independently of the others, which you would not want
Ratio = (double(image1) - double(image2)) ./ (double(image1) + double(image2));
imshow(Ratio, []); % Use the [] - it's important.