gpt4 book ai didi

MATLAB 错误 : Function 'subsindex' is not defined for values of class 'struct'

转载 作者:太空宇宙 更新时间:2023-11-03 19:26:16 26 4
gpt4 key购买 nike

我尝试了这些命令:

im=imread('untitled_test1.jpg');
im1=rgb2gray(im);
im1=medfilt2(im1,[15 15]);
BW = edge(im1,'sobel');

msk=[0 0 0 0 0;
0 1 1 1 0;
0 1 1 1 0;
0 1 1 1 0;
0 0 0 0 0;];
B=conv2(double(BW),double(msk));

Ibw = im2bw(B);
CC = bwconncomp(Ibw); %Ibw is my binary image
stats = regionprops(CC,'pixellist');

% pass all over the stats
for i=1:length(stats),
size = length(stats(i).PixelList);
% check only the relevant stats (the black ellipses)
if size >150 && size < 600
% fill the black pixel by white

x = round(mean(stats(i).PixelList(:,2)));
y = round(mean(stats(i).PixelList(:,1)));
Ibw = imfill(Ibw, [x, y]);

else
Ibw([CC.PixelIdxList{i}]) = false;
end;
end;

(这里我有另一个命令行,但我想问题不是因为它们。)

labeledImage = bwlabel(binaryImage, 8);     % Label each blob so we can make measurements of it
blobMeasurements = regionprops(labeledImage, Ibw, 'all');
numberOfBlobs = size(blobMeasurements, 1);

我收到此错误消息:

??? Error using ==> subsindex
Function 'subsindex' is not defined for values of class 'struct'.

Error in ==> test2 at 129
numberOfBlobs = size(blobMeasurements, 1);

出了什么问题?

最佳答案

您收到该错误是因为您创建了一个名为“size”的变量,它隐藏了内置函数 SIZE . MATLAB 不是调用函数 来计算numberOfBlobs,而是尝试使用结构blobMeasurements 作为变量索引索引(这不起作用,如错误消息所示)。

一般来说,你不应该给一个变量或函数一个已经存在的函数的名字(除非你 know what you're doing )。只需将代码中变量的名称更改为“大小”以外的名称,发出命令 clear size从工作区清除旧的大小变量,然后重新运行代码。

关于MATLAB 错误 : Function 'subsindex' is not defined for values of class 'struct' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10061337/

26 4 0
文章推荐: html - 如何只使 flex 元素溢出而不是整个父元素?
文章推荐: c# - IQueryable 和 List 问题