def setup(self, count=1, fn=None): self._count = count self._heights = [] self.blob_size = 100 if fn is None: self.process_fn = lambda r, g, b: (g - r).threshold(30).erode() else: self.process_fn = fn self._get_centroids = _get_centroids(count) # setup variables for i in range(count): stream = Stream(title="Height %s" % (i + 1), type=int) setattr(self, "height%s" % (i + 1), stream) self._heights.append(stream) self.image = Image(title="Tracked", fn=self._get_image) self.visualisation = DerivedImage(title="Visualisation") self.status = Property(title="Status", type=str) self.ui = ui(properties=[self.status, self.image, self.visualisation] + self._heights)
def setup(self, fn=None): # setup variables self.height = Stream(title="Height", type=int) self.status = Property(title="Status", type=str) self.image = Image(title="Tracked", fn=self._get_image) self.visualisation = DerivedImage(title="Visualisation") if fn is None: self.process_fn = lambda r, g, b: (g - r).threshold(30).erode() else: self.process_fn = fn self.blob_size = 100 self._get_centroids = _get_centroids(1) self.ui = ui(properties=[ self.status, self.height, self.image, self.visualisation ])