convert image from uint8 to double

805 views (last 30 days)
S
S on 26 May 2011
Commented: Walter Roberson on 25 May 2019
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:)

Accepted Answer

Steve Eddins
Steve Eddins on 26 May 2011
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.
  1 Comment
Sean de Wolski
Sean de Wolski on 26 May 2011
Personally, I avoid im2double for this very reason. ;)

Sign in to comment.

More Answers (1)

chelfremi
chelfremi on 12 Feb 2017
I used
pic = imread('wk2.gif');
im2double(pic);
My original pic was Unit8
Then it gives me:
  3 Comments
Harizi Amira
Harizi Amira on 25 May 2019
Where can I put this instruction to get the result in all cells ?ff.PNG
Walter Roberson
Walter Roberson on 25 May 2019
ffdouble = cellfun(@im2double, ff, 'uniform', 0);

Sign in to comment.

Categories

Find more on Convert Image Type in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!