Matlab-在滑动窗口周围放置边框

Posted

技术标签:

【中文标题】Matlab-在滑动窗口周围放置边框【英文标题】:Matlab- put border around sliding window 【发布时间】:2014-04-22 14:23:08 【问题描述】:

您好,我有代码可以在 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函数。如果您想将矩形绘制到图像本身,并且您有计算机视觉系统工具箱,则可以使用insertShapeinsertObjectAnnotation 函数。

【讨论】:

谢谢!如何指定在原始图像上放置此矩形的位置?我已经更新了我的问题,以便您可以看到我是如何创建滑动窗口的。 查看这些函数的文档。它们都取指定为[x,y,width,height]的矩形,其中[x,y]是左上角的坐标。 累了这个 Z1 = insertShape(Z, 'circle', [x y 8], 'LineWidth', 5);使用上面代码中显示的窗口的 x 和 y 位置,但出现错误:BeastSeg2 中的错误(第 209 行)Z1 = insertShape(Z, 'circle', [150 280 35], 'LineWidth', 5) ; 错误是什么?我的猜测是你可能有一个旧版本的 MATLAB,它不支持 'LineWidth' 参数。 是的,抱歉忘记显示错误:参数“LineWidth”与解析器的任何有效参数都不匹配。还有其他方法吗?

以上是关于Matlab-在滑动窗口周围放置边框的主要内容,如果未能解决你的问题,请参考以下文章

在 Matlab 中对滑动窗口应用操作

2D 中的滑动窗口最小值/最大值

活动识别的滑动​​窗口算法

滑动幻灯片内图像周围的奇怪灰色边框

带有滑动窗口元素的矩阵

用滑动条做调色板