我有一张图片,它计算两组像素的数量并进行计算。它为每个滑动窗口提供P
作为回报。如果P
大于6,它将变成红色,但是随着它的移动,在P > 6
处,我不会得到带有红色矩形的图像。这就是我想要实现的。
有什么想法吗?
这是我的代码:
I = imread('image');
imH = size(I, 1);
imW = size(I, 2);
windowWidth = 30;
windowHeight = 30;
step = 1;
for r = 1:step:imH - windowHeight + 1
for c = 1:step:imW - windowWidth + 1
Win = I(r:r + windowHeight - 1, c:c + windowWidth - 1, :);
post = [c r windowHeight windowWidth];
if P > 6
subplot(121); imshow(I); title 'Image';
hold on;
rectangle('Position', post, 'FaceColor', '(1 0 0)');
end
end
如何绘制P
大于6的矩形?
答案 0 :(得分:0)
您的代码要做的是显示图像,并在每次找到位置时在其上绘制一个矩形。我想您最终会在彼此之上有很多图像,每个图像都隐藏了先前绘制的矩形。
相反,只显示一次图像,然后仅在找到位置时才绘制矩形。也就是说,将这些行从循环中移到代码的顶部:
subplot(121); imshow(I); title 'Image';
hold on;