Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我有一个灰度图像。考虑每个像素周围的圆形邻域窗口。我需要计算这些圆形邻域中像素值的方差。
如何在 MatLab 中有效地实现循环邻域运算?
使用 matlabstdfilt获取局部方差。
stdfilt
J = stdfilt(I, NHOOD)
计算输入图像 I 的局部标准偏差,您可以在其中指定 NHOOD 中的邻域。NHOOD 是一个由零和非零元素指定邻居的多维数组。NHOOD 的大小在每个维度上都必须是奇数。因此,对于圆形邻域,您可以使用具有 >0 条件的磁盘过滤器,使其成为二进制:
NHOOD = fspecial('disk',radius)>0;
其中radius是某个数字,数字越大,过滤器越“圆形”,玩它看看......
最后,局部方差只是J.^2
J.^2