can any one tell me how to convert an image of type 'unit8' to the image of type 'float'.basicaly i am following a book of 'Digial Image Processing Using Matlab' where they try to enhance a gray image .following is the code.thanks in advance
Ältere Kommentare anzeigen
w=fspecial('laplacian',0);
f=imread('aa.jpg');
g1=imfilter(f,w,'replicate');
imshow(g1,[])
%as we get only a possitve image so he first try to convert the image type from 'unit8'to 'float'.so he write like this%
f2=tofloat(f);
%at here i am getting an error as [UNDEFINED FUNCTION OR METHOD 'tofloat' FOR INPUT ARGUMENTS OF TYPE 'unit8'].at this stage i could not understand what to do.%
%forther code is writen like this %
g2=imfilter(f2,w,'replicate');
imshow(g2,[])
%then he subtract the images like%
g=f2-g2;
imshow(g);
Akzeptierte Antwort
Weitere Antworten (3)
Steve Eddins
am 11 Mär. 2013
0 Stimmen
tofloat is a function provided with the book you are reading. You can find it in Appendix C on page 806.
6 Kommentare
jagannath mishra
am 12 Mär. 2013
Walter Roberson
am 12 Mär. 2013
'unit8' should be 'uint8' and likewise 'unit16' should be 'uint16'
jagannath mishra
am 13 Mär. 2013
Walter Roberson
am 13 Mär. 2013
Bearbeitet: Walter Roberson
am 13 Mär. 2013
Change your code where you currently have
table={'unit8',tosingle,@im2unit8
'unit16',tosingle,@im2unit16
'int16',tosingle,@im2int16
'logical',tosingle,@logical
'double',tosingle,identity
'single',tosingle,identity};
to become
table={'uint8',tosingle,@im2uint8
'uint16',tosingle,@im2uint16
'int16',tosingle,@im2int16
'logical',tosingle,@logical
'double',tosingle,identity
'single',tosingle,identity};
Image Analyst
am 13 Mär. 2013
unit and uint are two different words. The middle two characters are swapped.
玉山 邓
am 29 Jan. 2021
dont like
Kiranraddi morab
am 13 Mär. 2013
0 Stimmen
hello sir i'm too getting the same error how to use [f,revertclass]=tofloat(f)... Undefined function 'tofloat' for input arguments of type 'uint8'. MATLAB has this function or what is the problem please help me out
4 Kommentare
Image Analyst
am 13 Mär. 2013
Did you see Steve's Answer about it being included with the book?
Kiranraddi morab
am 13 Mär. 2013
yeah thank you
PRABAKARAN K
am 24 Okt. 2019
Bearbeitet: PRABAKARAN K
am 24 Okt. 2019
dear the tofloat is an user defined fuction its not exist in MATLAB
the code for tofloat given in that book is bellow which s a user defined function
f u n c t i o n [ out , revert clas s ) = tofloat ( in )
%TOF LOAT Convert image t o floating point
% [ OUT , REVERTCLASS ] = TOFLOAT ( I N ) c o n v e r t s the input image IN t o
% float ing - point . If IN is a d o u b le o r single imag e , then OUT
% equals I N . O t h e rwise , OUT equals IM2SINGLE ( I N ) . REVERTCLASS is
% a f u n ct ion handle t h at can be used to c o n v e rt back to t he class
% of I N .
i d e n t i t y
t o s ingle
@ ( x ) x ;
@im2sing le ;
table = { ' u i n t8 ' , t o s i n g l e , @im2 uint8
' u int 1 6 ' , t o s i n g l e , @im2u in t 1 6
' int 1 6 ' , t o s i n g l e , @im2 int 1 6
' logical ' , t o s in g l e , @log ical
' double ' , identity , identity
' s ingle ' , ident i t y , identit y } ;
c la s s l n d e x = f ind ( st rcmp ( c lass ( in ) , t ab le ( : , 1 ) ) ) ;
if isempt y ( c l as s l nd e x )
e r r o r ( ' Unsupported input image c l a ss . ' ) ;
end
o u t = t a b l e { c l a s s l ndex , 2 } ( in ) ;
r e v e r t c l a s s = t able { c l a s s l ndex , 3 } ;
Walter Roberson
am 24 Okt. 2019
It is a function that is defined in the book the user was using.
muhammad alli
am 13 Jun. 2016
Bearbeitet: Walter Roberson
am 24 Okt. 2019
0 Stimmen
1 Kommentar
Walter Roberson
am 13 Jun. 2016
The reference is to a book "Computational Physics: A Guide For Beginners Looking To Speed Up Their Computation" that appears to have been written by the poster.
Kategorien
Mehr zu Images finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!