python - 在 Python 中执行局部标准偏差

标签 python statistics standard-deviation

我正在尝试获取图像每个像素的局部标准差。这意味着我想为每个像素计算其值及其相邻像素的标准差。我用了this图书馆 我开发了以下代码:

def stdd(image, N):
    width = image.shape[0]
    heigth = image.shape[1]
    desv = np.zeros((width,heigth))
    for i in range (width):
        for j in range (heigth):
            if i < N :
                mini = 0
            else :
                mini = i - N
            if (i+N) > width :
                maxi = width
            else : 
                maxi = N + i
            if j < N :
                minj = 0
            else :
                minj = j - N
            if (j+N) > heigth :
                maxj = heigth
            else : 
                maxj = N + j
            window = image[mini:maxi,minj:maxj]
            desv[i,j] = window.std()
    return desv

其中 N 是每个像素的局部矩阵的大小,图像是 numpy.array() 图像 我的代码的问题是处理它需要太多时间,我想知道是否有一个已经定义的函数来优化它

最佳答案

你可以试试下面的方法

from scipy.ndimage import generic_filter
import numpy as np
generic_filter(img, np.std, size=3)

关于python - 在 Python 中执行局部标准偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25910050/

相关文章:

python - django - 加载 MySQLdb 模块时出错 : No module named MySQLdb

python - Flask - 将数据从不同的函数传递到同一个模板

r - 如何在 gnuplot 生成的 cdf 上绘制引导线?

python - 计算数组的第三个标准偏差

python - numpy的标准差

Python Flask API Restful

python - 去 "&^"算子,什么意思?

r - 如何生成具有不同边际分布的多元随机数?

python - Statsmodels 基于异方差一致性标准误差绘制平均置信区间

java - 递归计算数组的标准差