错误:
下标索引必须是实数正整数或逻辑。
嗨我正在进行图像转换,检查矩阵的大小时出错。我很困惑为什么我使用代码获取此特定实例:
size(maleGrey)
以下是我正在运行的代码:
male = getAllFiles('male');
% Variable Initialization
size = 250*250;
numM = length(male);
maleGrey = zeros(size,numM);
% Convert to gray scale
for i = 1:numM
rgb = imread(char(male(i)));
img = single(rgb2gray(rgb));
vec = img(:); % make it a vector of (62500,1) in size
maleGrey(:,i) = vec;
end
答案 0 :(得分:3)
在调用$("#movetotab3").click(function() {
$("#vartabs").tabs("option", "active", 2);
});
时,您错误地将size
用作变量。在工作空间中执行此操作后,该函数将被变量屏蔽(重载),并且Matlab将始终将对size=250*250
的进一步调用视为对变量的操作。
调用size
,该功能将按预期工作。另外,请勿使用clear size
作为变量的名称(或其他函数名称,如size
或length
或double
等),但例如zeros
或siz
(因为那是你变量所代表的含义)。
答案 1 :(得分:0)
您通过变量名覆盖(本地)Matlabs本机函数引用size
% Variable Initialization
size = 250*250; % <--
因此,当您致电size(maleGrey)
时,它会将maleGrey
视为变量size
中的索引。