1

我有一张图像,我想根据图像大小按比例应用膨胀、腐蚀、关闭、打开操作。

在我的代码中,我将图像分为三组,但我认为最好使用其他更好的方法。如何逐步更改我的操作的磁盘大小?

import pymorph as pm
import mahtoas as mh 
if (shape[0] < 100):
    w =  (shape[0]/100 )*0.2
elif(shape[0]> 100 and shape[0] <220):
    w =  (shape[0]/100 )*1.0
else:
    w = (shape[0]/100)*3

#structuring elements
disk7 = pm.sedisk(w)
bfork = mh.morph.dilate(bfork, disk7)
4

1 回答 1

2

您已经拥有从shape[0]到的有效阶梯映射w

如果您想将该映射更改为更连续,您可以使用,例如

w = min(MAXVAL, max(MINVAL,SLOPE*shape[0])) 

这将在至少 MINVAL 和最多 MAXVAL 之间创建一个带有梯度 SLOPE 的斜坡。

例如使用MAXVAL = 80, MINVAL = 20, 并SLOPE = 0.5给出

在此处输入图像描述

于 2014-03-02T12:02:25.807 回答