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
이전 댓글 표시
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);
채택된 답변
추가 답변 (3개)
Steve Eddins
2013년 3월 11일
0 개 추천
tofloat is a function provided with the book you are reading. You can find it in Appendix C on page 806.
댓글 수: 6
jagannath mishra
2013년 3월 12일
Walter Roberson
2013년 3월 12일
'unit8' should be 'uint8' and likewise 'unit16' should be 'uint16'
jagannath mishra
2013년 3월 13일
Walter Roberson
2013년 3월 13일
편집: Walter Roberson
2013년 3월 13일
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
2013년 3월 13일
unit and uint are two different words. The middle two characters are swapped.
玉山 邓
2021년 1월 29일
dont like
Kiranraddi morab
2013년 3월 13일
0 개 추천
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
Image Analyst
2013년 3월 13일
Did you see Steve's Answer about it being included with the book?
Kiranraddi morab
2013년 3월 13일
yeah thank you
PRABAKARAN K
2019년 10월 24일
편집: PRABAKARAN K
2019년 10월 24일
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
2019년 10월 24일
It is a function that is defined in the book the user was using.
muhammad alli
2016년 6월 13일
편집: Walter Roberson
2019년 10월 24일
0 개 추천
댓글 수: 1
Walter Roberson
2016년 6월 13일
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.
카테고리
도움말 센터 및 File Exchange에서 Images에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!