def run(self, ips, snap, img, para = None):
#denoised = rank.median(img, disk(para['sigma']))
#gradient = rank.gradient(denoised, disk(para['gdt']))
ndimg.gaussian_filter(snap, para['sigma'], output=img)
markers, n = ndimg.label(ips.get_msk(), np.ones((3,3)), output=np.uint16)
if not para['ud']:img[:] = 255-img
mark = watershed(img, markers, line=True, conn=para['con']+1)
mark = np.multiply((mark==0), 255, dtype=np.uint8)
if para['type'] == 'white line':
img[:] = mark
if para['type'] == 'gray line':
np.minimum(snap, mark, out=img)
if para['type'] == 'white line on ori':
np.maximum(snap, mark, out=img)
评论列表
文章目录