为什么我的for循环运行? (Matlab的)

时间:2016-02-24 13:43:28

标签: matlab for-loop

我有以下代码:

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].

1 个答案:

答案 0 :(得分:3)

您已切换了掩码的ij索引。