0

我想开发一个 matlab 的应用程序,可以显示图像中对象的边界框。

我已经检测到该对象,并将其裁剪。

现在,对于边界框,我只需在所有像素中添加 10。

例如:

       x=x+10;  
       y=y+10;  
       w=w+10;  
       h=h+10;  

我使用 imcrop 功能。但问题是我不明白如何从 imcrop 中获取像素的坐标。

     [I_crop, I_rect]=imcrop(ImSeq(:,:,1),[])
     I_rect=floor(I_rect);

     final_rect=I_rect;
     for t=1:NumImages
       cur_r=final_rect(2);
       cur_c=final_rect(1);
         for r= cur_r -10:cur_r+10
           for c=cur_c-10:cur_c+10
             temp= abs(I_crop-ImSeq(r:r+I_rect(4),c:c+I_rect(3),t));

什么是final_rect(2),final_rect(1)I_rect(4)? 我如何获得裁剪图像的 x,y,w,h 坐标?I_rect(3)

谢谢

4

1 回答 1

0

[I2 rect] = imcrop(I)中, rect是裁剪矩形,一个四元素位置向量。在原始图像中,裁剪区域定义为:

rect(2)当前行当 rect(1)前列
rect(3)是宽 rect(4)高。

于 2013-10-08T14:47:51.707 回答