什么是Matlab的stdfilt()函数的python等价物?

时间:2013-10-22 13:09:01

标签: python-2.7

我试图将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中实现上面的代码吗?

先谢谢

1 个答案:

答案 0 :(得分:4)

我在

上找到了一些东西

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年的延迟,但有人在网上)