Image processing 使用倍频程在图像中的特定位置绘制边界框
我有一张128×256的灰度图像。我在这张图片上运行了滑动窗口算法,使用8×16滑动窗口,水平方向的步幅为16,垂直方向的步幅为8。因此,原始灰度图像可以看作是由8×16个小窗口组成的网格。 在本例中,我想在每个小窗口256周围画一个8×16的边界框。我编写了以下代码:Image processing 使用倍频程在图像中的特定位置绘制边界框,image-processing,octave,bounding-box,Image Processing,Octave,Bounding Box,我有一张128×256的灰度图像。我在这张图片上运行了滑动窗口算法,使用8×16滑动窗口,水平方向的步幅为16,垂直方向的步幅为8。因此,原始灰度图像可以看作是由8×16个小窗口组成的网格。 在本例中,我想在每个小窗口256周围画一个8×16的边界框。我编写了以下代码: 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
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
然而,我无法达到预期的效果。运行此代码获得的结果可在以下位置获得:
请帮助我修改代码以获得所需的结果。您需要反转r和c:矩形“位置”、[c、r、w、h]、…@烧杯谢谢!!成功了。我也理解我所犯的错误。