我有以下代码:
for i = 1:RGB_size(2) % RGB_size(2) = 1296 //X coords
for j = 1:1:RGB_size(1) % RGB_size(1) = 964 //Y coords
if mask(i,j) == 1
data(next_pixel,:) = [ImgIndex, ImgTake, i, j, RGB(i,j,1), RGB(i,j,2), RGB(i,j,3),...
HSIR(i,j,1), HSIR(i,j,2), HSIR(i,j,3)];
next_pixel = next_pixel + 1; %get next pixel
end
end
end
但是Matlab不会运行我的代码,因为它说我正在尝试访问mask(965,1)
并且我的可变掩码大小是1296×964。但是,我不知道这是怎么可能的。有什么想法吗?
RGB_size
是从名为RGB
的变量计算出来的,该变量与用于创建变量mask
的变量相同。我已经验证它们与调试器的大小相同。
实际错误消息是:
Attempted to access mask(965,1); index out of bounds because size(mask)=[964,1296].
答案 0 :(得分:3)
您已切换了掩码的i
和j
索引。