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

Amrinder Brar
Amrinder Brar 2015년 3월 29일
Can anybody please answer ? I need it ASAP.
Star Strider
Star Strider 2015년 3월 29일
If you want to convert a uint8 variable to double-precision (floating point) variable, use the double function.
Stephen23
Stephen23 2015년 3월 30일
편집: Stephen23 2015년 3월 30일
MATLAB supports two (industry standard) floating point number classes: double and single. The function tofloat is not a standard MATLAB function.

댓글을 달려면 로그인하십시오.

답변 (1개)

Geoff Hayes
Geoff Hayes 2015년 3월 29일

0 개 추천

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).

카테고리

도움말 센터 및 File Exchange에서 Convert Image Type에 대해 자세히 알아보기

질문:

2015년 3월 29일

편집:

2015년 3월 30일

Community Treasure Hunt

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

Start Hunting!

Translated by