How to use Matlab function which supportsUint8 for image in double

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.

Réponses (1)

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 commentaire

Thank You sir, but it gives same error. My image is Uint16(12 bit). i.e. JSRT X-Ray Image Database.

Cette question est clôturée.

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by