2016-02-10 104 views
1

我在图像上使用了函数imfindcircles,但是发生了一个错误,该函数或方法对'uint8'类型的输入参数使用了'imfindcircles'。我正在使用本教程Mathworks。我的代码:函数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); 

这是错误:???对于'uint8'类型的输入参数,未定义的函数或方法'imfindcircles'。

+0

您是否恰好在当前工作目录中有一个名为'imfindcircles.m'的文件? – beaker

+0

编号这是Matlab的功能 –

+0

我明白MATLAB有一个叫做'imfindcircles'的函数。我问的是,如果你用自己的函数或变量名称掩盖了实现。因为这是我现在能想到的唯一方法,那就是错误是有道理的。 – beaker

回答

0

你得到了那个错误,因为我没有定义。将我替换为gray_image,它会起作用。

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

您不需要任何特殊的工具箱或此功能的许可证。