使用Octave在图像中的某些位置绘制边界框

时间:2015-09-03 18:30:26

标签: image-processing octave bounding-box

我有一个大小为128乘256的灰度图像。我使用8乘16的滑动窗口在此图像上运行滑动窗口算法,水平方向的步幅为16,垂直方向的步幅为8。因此,原始灰度图像可以看作是8×16个小窗口的网格。 我想在这些小窗口周围绘制一个8乘16的边界框(在这种情况下为256)。我写了以下代码:

w=16;h=8;
%Get row and column number for each small window of size 8 by 16.
[C,R]=ind2sub([size(grayImg,1)/8, size(grayImg,2)/16],(1:256));
for idx = 1:256
   if (R(idx)>1)
       r=(R(idx)-1)*h;
   else
       r=R(idx);
   endif

   if (C(idx)>1)
       c=(C(idx)-1)*w;
   else
       c=C(idx);
   endif

   if (IDX(idx)==1)
       rectangle('Position', [r, c, w, h],  'EdgeColor','r', 'LineWidth', 2)
   elseif (IDX(idx)==2)
       rectangle('Position', [r, c, w, h],  'EdgeColor','g', 'LineWidth', 2)
   endif
endfor

但是,我无法达到预期的效果。运行此代码获得的结果可在http://imgur.com/80OUJmR获得 请帮我修改代码以达到预期的效果。

0 个答案:

没有答案