Matlab图像翻译:索引超过矩阵尺寸

时间:2015-01-05 23:01:10

标签: image matlab matrix indexing translate

我一直试图通过指定关键帧上的公共位置并根据这些点进行插值来在整个图像序列中翻译图像。看起来很简单,但即使图像似乎正好翻译,我也会收到错误。这很烦人,因为它有效,但我不能在我的代码中添加更多内容,因为错误是" ??? Index exceeds matrix dimensions."在线,for k=pos{j-1}(1):pos{j}(1)我似乎无法弄清楚原因。我有R2011a 32位。谢谢您的帮助!这是我的代码:

% // numkeyframes=input('Enter the number of key frames');
pos=cell(1,3);
for i=1:numkeyframes
pos{i}=input('Enter frame, x position, and y position in format "[f x y]"');
end

D=dir('*.bmp');
imcell=cell(1,numel(D));
for i=1:numel(D)
imcell{i}=imread(D(i).name,'bmp');
end

for j=2:pos{numkeyframes}(1)
for k=pos{j-1}(1):pos{j}(1)
xdisp=round((pos{1}(2)-pos{j}(2))*(k-pos{j-1}(1))/(pos{j}(1)-pos{j-1}(1)));
ydisp=round((pos{1}(3)-pos{j}(3))*(k-pos{j-1}(1))/(pos{j}(1)-pos{j-1}(1)));
structelem=translate(strel(1),[xdisp,ydisp]);
imtrans{k}=imdilate(imcell{k},structelem);
end
end

0 个答案:

没有答案