How to use tofloat ?

When I use this code: g=abs(imfilter(tofloat(gray),w));
This error is shown: Undefined function 'tofloat' for input arguments of type 'uint8'.
Then this suggestion appears: Did you mean: >> g=abs(imfilter(float(gray),w));
When I try to apply this, then also there is an error which goes as: Error using float (line 46) The input argument to float was not a supported type. The only recognized strings are 'single' and 'double'. The input type was 'uint8'.

3 Comments

Can anybody please answer ? I need it ASAP.
If you want to convert a uint8 variable to double-precision (floating point) variable, use the double function.
Stephen23
Stephen23 on 30 Mar 2015
Edited: Stephen23 on 30 Mar 2015
MATLAB supports two (industry standard) floating point number classes: double and single. The function tofloat is not a standard MATLAB function.

Sign in to comment.

Answers (1)

Geoff Hayes
Geoff Hayes on 29 Mar 2015

0 votes

Amrinder - I don't think that tofloat is a built-in function of MATLAB (for the base version or any of its toolboxes). Is your above code copied from a text book that makes use of this function? A similar question has been asked and answered at http://www.mathworks.com/matlabcentral/answers/66558-can-any-one-tell-me-how-to-convert-an-image-of-type-unit8-to-the-image-of-type-float-basicaly-i.
If you want to convert your uint8 gray array to floats (or doubles) then consider using the im2double function (provided your version of MATLAB has it).

Asked:

on 29 Mar 2015

Edited:

on 30 Mar 2015

Community Treasure Hunt

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

Start Hunting!