1

我正在尝试使用 sift 在 2 个不同的图像之间进行匹配,我想要做的是在图像上写一个文本(数字)。

hold on;
cols1 = size(im1,2);
for i = 1:1: size(des1,1)
  if (match(i) > 0)
    line([loc1(i,2) loc2(match(i),2)+cols1], [loc1(i,1) loc2(match(i),1)], 'Color', 'b');
    s = int2str(i);
    text (loc1(1,2), loc2(match(1),2)+cols1,s,...
    'FontSize',14,...
    'HorizontalAlignment','center');  
  end
end

hold off;

我收到一个错误下标索引必须是真正的正整数或逻辑。在 text (loc1(1,2), loc2(match(1),2)+cols1,s,...

我不知道出了什么问题!

4

1 回答 1

0

match(1)在该行中可能为零(或至少不是正整数)。我注意到你检查了match(i),但没有match(1)。你的意思是使用match(i)?那是,

text (loc1(1,2), loc2(match(i),2)+cols1,s,...
于 2012-12-19T02:02:10.080 回答