【问题标题】:Circular neighborhood operations循环邻里运营
【发布时间】:2012-10-20 01:58:23
【问题描述】:

假设我有一张灰度图像。考虑每个像素周围的圆形邻域窗口。我需要计算这些圆形邻域中像素值的方差。

如何在 MatLab 中高效地实现循环邻域运算?

【问题讨论】:

    标签: image-processing computer-vision matlab pattern-recognition


    【解决方案1】:

    使用matlab的stdfilt获取局部方差。

     J = stdfilt(I, NHOOD)
    

    计算输入图像 I 的局部标准偏差,您可以在其中指定 NHOOD 中的邻域。 NHOOD 是一个由零和非零元素指定邻居的多维数组。 NHOOD 的大小在每个维度上都必须是奇数。因此,对于圆形邻域,您可以使用具有 >0 条件的磁盘过滤器,使其成为二进制:

     NHOOD = fspecial('disk',radius)>0; 
    

    radius 是一个数字,数字越大,过滤器越“圆”,玩一下看看...

    最后,局部方差就是J.^2

    【讨论】:

    • 嗨,有什么方法可以获取像素周围圆形邻域的颜色直方图?
    • 当然有,但值得提出一个新问题,因为它会有一个完全不同的答案......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 2016-03-15
    • 1970-01-01
    • 2018-05-21
    • 2017-02-12
    • 2018-11-25
    相关资源
    最近更新 更多