Indexing cannot yield multiple results.

Hello, so I have this code, for a 3x3 rgb image:
[nRows, nCols, nCh] = size(image);
%I have 100 3x3 squares of the image:
p = zeros(3,3,3)
P = cell(100,1);
k = 0;
for i=1:3:nRows
for j=1:3:nCols
k = k+1;
p = image(i:i+2, j:j+2, :);
P{k} = p;
if k>=100
break;
end
end
end
%average for the 67th square:
p = P{67};
m(67) = [sum(sum(p(:,:,1))/9), sum(sum(p(:,:,2))/9), sum(sum(p(:,:,3))/9)];
And at the first row [nRows, nCols, nCh] = size(image) I get the Indexing error. Any ideas? Thank you

回答(1 个)

Check if size was not used as a variable. For example
size=2
[n,m]=size(rand(4))
To resolve the problem type
clear size
[n,m]=size(rand(4))

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by