我正在尝试获取图像每个像素的局部标准差。这意味着我想为每个像素计算其值及其相邻像素的标准差。我用了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/