Beispiel #1
0
 def __call__(self, masks):
     if masks.ndim == 3:
         masks = masks.reshape(1, masks.shape[0], masks.shape[1], masks.shape[2])
     class_params = self.class_params.items()
     class_params.sort(key=lambda x: x[0])
     outs = []
     for mask in masks:
         out = []
         for class_num, params in class_params:
             class_mask = np.ascontiguousarray(resize_mask(mask[:, :, class_num]))
             for p in params['params']:
                 out.append(compute_mask_rect_area(class_mask, p['rect']) >= p['t'])
         outs.append(out)
     return image_search._bool_to_hash(np.array(outs))
Beispiel #2
0
 def _postprocess(self, features):
     features = self._condition_features(features, pad=True)
     return image_search._bool_to_hash(features > self.median_feature)