MATLAB: Convert image from uint8 to double

im2doubleImage Processing Toolbox

Hi,
Could someone tells me the difference between 'I=im2double(I);' and 'I=double(I);'. I have a simple image called 'I' with the following properties
Name Size Bytes Class Attributes
I 512x512 262144 uint8
when I apply the first command it gives me the following error message:
??? Undefined function or method 'im2double' for input arguments of type 'uint8'.
But the second command is ok. Why?
I appreciate your help
S:)

Best Answer

You are getting the message "Undefined function or method 'im2double' ..." because that function is part of the Image Processing Toolbox, not MATLAB. Either you don't have the Image Processing Toolbox, or it is not installed correctly.
The function im2double scales the output double-precision values to the range [0.0, 1.0]. The function uint8 does not do this scaling.
Related Question