-2

这是为了删除矩阵中的某些元素。我想要 1:hseam 和 hseam:end。

for i=1:3                                                                  
    for j=1:cols                                                           
        if hseam(j)==1
            Img(:,j,i)=[im(2:rows,j,i)]; 
        elseif hseam(j)==rows
            Img(:,j,i)=[im(1:rows-1,j,i)];
        else            
            Img(:,j,i)=[im((1:hseam(j)-1),j,i) im((hseam(j)+1:end),j,i)];
        end
    end
end

这是我得到的错误:

???错误使用 ==> horzcat CAT 参数尺寸不一致。

==> reduceHeight 在 17 处出错 Img(:,j,i)=[im((1:hseam(j)-1),j,i) im((hseam(j)+1:end),j,一世)];

4

1 回答 1

1

假设您要提取1:hseam 和 hseam:end (不完全确定我理解您的代码的全部意图),您还可以执行以下操作:

Img = im([1:hseam, heasm:end],:,:)

不需要在这里循环...

于 2013-09-13T06:58:46.600 回答