Info

This question is closed. Reopen it to edit or answer.

How to use Matlab function which supportsUint8 for image in double

1 view (last 30 days)
I have X-Ray image database whose images are 16bit format(double). If I want to use Matlab function
[centers, radii] = imfindcircles(img5,[20 25],'ObjectPolarity','dark'); it gives me error Undefined function or method 'imfindcircles' for input arguments of type 'double'.
Please help me in this regard.

Answers (1)

Image Analyst
Image Analyst on 3 May 2015
Before you call it, cast img5 to an integer, either uint8 or uint16
img8bit = uint8(255 * mat2gray(img5)); % Make 8 bit copy.
[centers, radii] = imfindcircles(img8bit , [20, 25], 'ObjectPolarity', 'dark');
delete(img8bit ); % clear temporary variable.
  1 Comment
Dnyanesh Kanade
Dnyanesh Kanade on 4 May 2015
Thank You sir, but it gives same error. My image is Uint16(12 bit). i.e. JSRT X-Ray Image Database.

Community Treasure Hunt

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

Start Hunting!