5

我试图将 Matlab 中的一段代码转换为 python。在那里我可以找到一个标准偏差过滤器函数“stdfilt()”,我在 python 中找不到任何等效的 API。Matlab代码如下,

Ig_med = medfilt2(Input_Image);
h_gauss = fspecial('gaussian',11,2);
h_avg = fspecial('average',121);
I = imfilter(Ig_med,h_gauss,'corr','replicate');

P = stdfilt(I,ones(121));
P = P.^2; 

Q = imfilter(P,h_avg,'corr','replicate');

任何人都可以帮助我在 Python 中实现上述代码吗?

提前致谢

4

1 回答 1

10

我发现了一些东西

https://nickc1.github.io/python,/matlab/2016/05/17/Standard-Deviation-(Filters)-in-Matlab-and-Python.html

from scipy.ndimage.filters import generic_filter
import numpy as np

I_filt = generic_filter(I, np.std, size=3)

也许它可以帮助!(我猜不是你,因为延迟了 3 年,但有人在网上)

于 2016-12-19T12:12:01.350 回答