假设我有一张灰度图像。考虑每个像素周围的圆形邻域窗口。我需要计算这些圆形邻域中像素值的方差。
如何在MatLab中高效地实现循环邻域操作?
发布于 2012-10-31 01:03:30
使用matlab的stdfilt得到局部方差。
J = stdfilt(I, NHOOD)计算输入图像I的局部标准差,其中您在NHOOD中指定邻域。NHOOD是一个由0和1组成的多维数组,其中非零元素指定邻居。NHOOD的大小在每个维度上都必须是奇数。因此,对于圆形邻域,您可以使用带有>0条件的磁盘筛选器,使其成为二进制:
NHOOD = fspecial('disk',radius)>0; 其中半径是某个数字,数字越大,过滤器就越“圆形”,使用它并查看...
最后,局部方差仅为J.^2
https://stackoverflow.com/questions/13143901
复制相似问题