Пример #1
0
    def build(cls,
              config,
              global_config={},
              global_mask=None,
              frame_shape=None) -> FilterConfig:
        raw_mask = []
        if global_mask:
            if isinstance(global_mask, list):
                raw_mask += global_mask
            elif isinstance(global_mask, str):
                raw_mask += [global_mask]

        config_mask = config.get("mask")
        if config_mask:
            if isinstance(config_mask, list):
                raw_mask += config_mask
            elif isinstance(config_mask, str):
                raw_mask += [config_mask]

        mask = create_mask(frame_shape, raw_mask) if raw_mask else None

        return FilterConfig(
            min_area=config.get("min_area", global_config.get("min_area", 0)),
            max_area=config.get("max_area",
                                global_config.get("max_area", 24000000)),
            threshold=config.get("threshold",
                                 global_config.get("threshold", 0.7)),
            min_score=config.get("min_score",
                                 global_config.get("min_score", 0.5)),
            mask=mask,
            raw_mask=raw_mask,
        )
Пример #2
0
    def __init__(self, **config):
        mask = config.get("mask")
        config["raw_mask"] = mask

        if mask is not None:
            config["mask"] = create_mask(config.get("frame_shape", (1, 1)), mask)

        super().__init__(**config)
Пример #3
0
 def __init__(self, global_config, config, frame_shape=None):
     self._min_area = config.get('min_area',
                                 global_config.get('min_area', 0))
     self._max_area = config.get('max_area',
                                 global_config.get('max_area', 24000000))
     self._threshold = config.get('threshold',
                                  global_config.get('threshold', 0.7))
     self._min_score = config.get('min_score',
                                  global_config.get('min_score', 0.5))
     self._raw_mask = config.get('mask')
     self._mask = create_mask(frame_shape,
                              self._raw_mask) if self._raw_mask else None
Пример #4
0
 def __init__(self, global_config, config, frame_shape):
     self._raw_mask = config.get('mask')
     if self._raw_mask:
         self._mask = create_mask(frame_shape, self._raw_mask)
     else:
         default_mask = np.zeros(frame_shape, np.uint8)
         default_mask[:] = 255
         self._mask = default_mask
     self._threshold = config.get('threshold', global_config.get('threshold', 25))
     self._contour_area = config.get('contour_area', global_config.get('contour_area', 100))
     self._delta_alpha = config.get('delta_alpha', global_config.get('delta_alpha', 0.2))
     self._frame_alpha = config.get('frame_alpha', global_config.get('frame_alpha', 0.2))
     self._frame_height = config.get('frame_height', global_config.get('frame_height', frame_shape[0]//6))
Пример #5
0
    def __init__(self, **config):
        frame_shape = config.get("frame_shape", (1, 1))

        mask = config.get("mask", "")
        config["raw_mask"] = mask

        if mask:
            config["mask"] = create_mask(frame_shape, mask)
        else:
            empty_mask = np.zeros(frame_shape, np.uint8)
            empty_mask[:] = 255
            config["mask"] = empty_mask

        super().__init__(**config)
Пример #6
0
    def build(cls, config, global_config, frame_shape) -> MotionConfig:
        raw_mask = config.get("mask")
        if raw_mask:
            mask = create_mask(frame_shape, raw_mask)
        else:
            mask = np.zeros(frame_shape, np.uint8)
            mask[:] = 255

        return MotionConfig(
            raw_mask,
            mask,
            config.get("threshold", global_config.get("threshold", 25)),
            config.get("contour_area", global_config.get("contour_area", 100)),
            config.get("delta_alpha", global_config.get("delta_alpha", 0.2)),
            config.get("frame_alpha", global_config.get("frame_alpha", 0.2)),
            config.get("frame_height",
                       global_config.get("frame_height", frame_shape[0] // 6)),
        )
Пример #7
0
    def __init__(self, global_config, config, global_mask=None, frame_shape=None):
        self._min_area = config.get('min_area', global_config.get('min_area', 0))
        self._max_area = config.get('max_area', global_config.get('max_area', 24000000))
        self._threshold = config.get('threshold', global_config.get('threshold', 0.7))
        self._min_score = config.get('min_score', global_config.get('min_score', 0.5))

        self._raw_mask = []
        if global_mask:
            if isinstance(global_mask, list):
                self._raw_mask += global_mask
            elif isinstance(global_mask, str):
                self._raw_mask += [global_mask]

        mask = config.get('mask')
        if mask:
            if isinstance(mask, list):
                self._raw_mask += mask
            elif isinstance(mask, str):
                self._raw_mask += [mask]
        self._mask = create_mask(frame_shape, self._raw_mask) if self._raw_mask else None
Пример #8
0
    def __init__(self, **config):
        frame_shape = config.get("frame_shape", (1, 1))

        if "frame_height" not in config:
            config["frame_height"] = max(frame_shape[0] // 6, 180)

        if "contour_area" not in config:
            frame_width = frame_shape[1] * config[
                "frame_height"] / frame_shape[0]
            config["contour_area"] = (config["frame_height"] * frame_width *
                                      0.00173611111)

        mask = config.get("mask", "")
        config["raw_mask"] = mask

        if mask:
            config["mask"] = create_mask(frame_shape, mask)
        else:
            empty_mask = np.zeros(frame_shape, np.uint8)
            empty_mask[:] = 255
            config["mask"] = empty_mask

        super().__init__(**config)