2016-02-10 3 views
1

J'utilise la fonction imfindcircles sur l'image mais il se produit une erreur qui dit que la fonction ou la méthode 'imfindcircles' pour les arguments d'entrée de type 'uint8'. J'utilise ce tutoriel de Mathworks. Mon code:Fonction imfindcircles Matlab

rgb = imread('circles.png'); 
figure 
imshow(rgb) 
gray_image = rgb2gray(rgb); 
imshow(gray_image); 
[centers, radii, metric] = imfindcircles(I,[40 45]); 
centersStrong5 = centers(1:5,:); 
radiiStrong5 = radii(1:5); 
metricStrong5 = metric(1:5); 

Ceci est l'erreur: ??? Fonction non définie ou méthode 'imfindcircles' pour les arguments d'entrée de type 'uint8'.

+0

Avez-vous un fichier appelé 'imfindcircles.m' dans votre répertoire de travail actuel? – beaker

+0

Non. Ceci est fonction de Matlab –

+0

Je comprends que MATLAB a une fonction appelée 'imfindcircles'. Ce que je demande, c'est si vous avez ombragé cette implémentation avec votre propre fonction ou nom de variable. Parce que c'est la seule façon dont je peux penser maintenant que cette erreur a un sens. – beaker

Répondre

0

Vous avez eu cette erreur car je n'étais pas défini. Remplacer I avec gray_image et ça va marcher.

[centers, radii, metric] = imfindcircles(gray_image,[40 45]); 

Vous n'avez besoin d'aucune boîte à outils ou licence spéciale pour cette fonction.