Я пытаюсь улучшить функцию, которая вычисляет для каждого пикселя изображения стандартное отклонение пикселей, расположенных в окрестности пикселя. Моя функция использует две встроенные петли для работы по матрице, и это узкое место моей программы. Я думаю, что есть способ улучшить его, избавившись от циклов благодаря numpy, но я не знаю, как это сделать. Любые советы приветствуются!
рассматривает
def sliding_std_dev(image_original,radius=5) :
height, width = image_original.shape
result = np.zeros_like(image_original) # initialize the output matrix
hgt = range(radius,height-radius)
wdt = range(radius,width-radius)
for i in hgt:
for j in wdt:
result[i,j] = np.std(image_original[i-radius:i+radius,j-radius:j+radius])
return result