我试图将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');
Run Code Online (Sandbox Code Playgroud)
谁能帮助我在Python中实现上述代码?
提前致谢
我试图firstCord在矩阵中扫描特定索引()的八个相邻索引,并找出它的任何邻居是否存在于Cord包含一些随机坐标作为元素的另一个列表()中.如果其中的任何邻居出现在Cord列表中,那么我会将该特定坐标附加到Temp_Cord列表中.代码段如下.
当第一次满足条件时,我可以看到Temp_Cord附加了newCord值的值if newCord in Cord:.这是预期的行为.但是附加值在Temp_Cord每个其他迭代中根据变化而变化newCord,这就像Temp_Cord[0]并且newCord共享相同的内存.有人可以帮我解决这个问题.我需要追加Temp_Cord与newCord价值,只有当if newCord in Cord:条件为真.
预先感谢.
Cordlen = len(Cord)
orientation = [(-1,0), (-1,1), (0,1), (1,1), (1,0), (1,-1),(0,-1),(-1,-1)]
firstCord = [0,173]
Temp_Cord = []
while ((Arrlen) < Cordlen):
newCord = [0,0]
for i in orientation:
newCord[0] = firstCord[0] + i[0]
newCord[1] = firstCord[1] + i[1]
if newCord in Cord:
Temp_Cord.append(newCord) …Run Code Online (Sandbox Code Playgroud)