def run(self, ips, snap, img, para = None):
self.ips.lut[:] = self.buflut
ndimg.gaussian_filter(snap, para['sigma'], output=img)
mark = img<para['thr'] if para['ud'] else img>para['thr']
markers, n = ndimg.label(mark, 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':
#img //=2
np.maximum(snap, mark, out=img)
评论列表
文章目录