在图像上写字符串

时间:2012-12-19 01:17:24

标签: matlab image-processing 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,...

我无法弄清楚出了什么问题!

1 个答案:

答案 0 :(得分:0)

该行中的

match(1)可以为零(或至少不是正整数)。我们注意到您检查了match(i),但没有match(1)。你的意思是使用match(i)吗?也就是说,

text (loc1(1,2), loc2(match(i),2)+cols1,s,...