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
1 ответ
Если вы хотите отобразить это на рисунке, вы можете использовать imrect
функция. Если вы хотите нарисовать прямоугольник в самом изображении, и у вас есть набор инструментов системы Computer Vision, вы можете использовать insertShape
или же insertObjectAnnotation
функции.