2014-04-22 28 views
1

嗨我有一個代碼,它將一個滑動窗口放在Matlab中的圖像上。如果滑動窗口內的像素符合某些條件,那麼我需要通過在其上放一個矩形來突出顯示原始圖像上的滑動窗口。Matlab-把邊框放在滑動窗口周圍

任何人都可以向我解釋如何做到這一點?

謝謝。

if average>200 
     N2=8; 
     info2 = repmat(struct, ceil(size(Z, 1)/N2), ceil(size(Z, 2)/N2)); 
     for row1 = 1:N2:size(Z, 1)%loop through each pixel in the 8x8 window 
      for col1 = 1:N2:size(Z, 2) 
       x = (row1 - 1)/N2 + 1; 
       y = (col1 - 1)/N2 + 1; 

       imgWindow2 = Z(row1:min(end,row1+N2-1), col1:min(end,col1+N2-1)); 
       average2 = mean(imgWindow2(:)); %calculate mean intensity of pixels 
       window2(x,y).average=average2; 
       % display(window2(x,y).average); 


       % if the intensity of the 8x8 window is greater than 
       % 210 then considered suspicious- 
       if average2>210 
       %%%% THEN HIGHLIGH THIS WINDOW ON THE ORG IMAGE (Z) 
       end 
      end 
     end 

回答

0

如果你想在一個圖來顯示這一點,你可以使用imrect功能。如果要將矩形繪製到圖像本身中,並且具有計算機視覺系統工具箱,則可以使用insertShapeinsertObjectAnnotation函數。

+0

謝謝!如何指定放置矩形的原始圖像的位置?我更新了我的問題,以便您可以看到我是如何創建滑動窗口的。 – user1853871

+0

看看這些功能的文檔。它們都採用指定爲[x,y,width,height]的矩形,其中[x,y]是左上角的座標。 – Dima

+0

厭倦了這個Z1 = insertShape(Z,'circle',[x y 8],'LineWidth',5);使用上面代碼中顯示的窗口的x和y位置,但是我得到一個錯誤:BeastSeg2中的錯誤(第209行) Z1 = insertShape(Z,'circle',[150 280 35],'LineWidth',5 ); – user1853871