在检测到的物体周围绘制矩形?

时间:2019-06-29 13:16:38

标签: matlab image-processing

我不知道为什么它不能检测到我的模板窗口。我的意思是我在图像上都散布了边界框,就像我发送的detect.jpg一样。你知道这个算法有什么问题吗?并且findtemplate是它的功能,hibbard.jpg是我的图像,window.jpg是我的模板)

function findtemplate(im,temp,th,showtemp)
out=normxcorr2(temp,im);
[m,n] = size(temp);
out = out(m+1:end,n+1:end);
bw = out>th;
if nargin >3
 im(1:m , 1:n)=temp;
end
clf
imshow(im,[])
hold on
for k = 1 : length( r )
 thisBB = r(k).BoundingBox;
 rectangle('Position', thisBB,'EdgeColor','r','LineWidth',2 );
end


im=rgb2gray(imread('hibbard.jpg'));
imshow(im)
temp=rgb2gray(imread('window.jpg'));
imshow(temp)
findtemplate(im,temp,.3);

[{https://i.stack.imgur.com/koq8X][1]

https://i.stack.imgur.com/ioQyp.jpg

1 个答案:

答案 0 :(得分:0)

对不起,我无法理解您的要求。您无法正确绘制边界框,或者找不到它们?