Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 使用倍频程在图像中的特定位置绘制边界框_Image Processing_Octave_Bounding Box - Fatal编程技术网

Image processing 使用倍频程在图像中的特定位置绘制边界框

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

我有一张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(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]、…@烧杯谢谢!!成功了。我也理解我所犯的错误。