mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-07-08 21:11:25 +03:00
regenerate zone contours and per-zone filter masks on detect resolution change
This commit is contained in:
parent
48d7ee4604
commit
29c6fde443
@ -770,6 +770,13 @@ def _config_set_in_memory(request: Request, body: AppConfigSetBody) -> JSONRespo
|
|||||||
),
|
),
|
||||||
cam_cfg.objects,
|
cam_cfg.objects,
|
||||||
)
|
)
|
||||||
|
if cam_cfg.zones:
|
||||||
|
request.app.config_publisher.publish_update(
|
||||||
|
CameraConfigUpdateTopic(
|
||||||
|
CameraConfigUpdateEnum.zones, camera
|
||||||
|
),
|
||||||
|
cam_cfg.zones,
|
||||||
|
)
|
||||||
request.app.config_publisher.publish_update(
|
request.app.config_publisher.publish_update(
|
||||||
CameraConfigUpdateTopic(
|
CameraConfigUpdateTopic(
|
||||||
CameraConfigUpdateEnum.refresh, camera
|
CameraConfigUpdateEnum.refresh, camera
|
||||||
|
|||||||
@ -816,6 +816,17 @@ def apply_section_update(camera_config, section: str, update: dict) -> Optional[
|
|||||||
**filt.model_dump(exclude_unset=True, exclude={"mask", "raw_mask"}),
|
**filt.model_dump(exclude_unset=True, exclude={"mask", "raw_mask"}),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Regenerate zone contours and per-zone filter masks at the new
|
||||||
|
# frame_shape so zone outlines and membership stay relative
|
||||||
|
for zone in camera_config.zones.values():
|
||||||
|
if zone.filters:
|
||||||
|
for zone_obj_name, zone_filter in zone.filters.items():
|
||||||
|
zone.filters[zone_obj_name] = RuntimeFilterConfig(
|
||||||
|
frame_shape=new_frame_shape,
|
||||||
|
**zone_filter.model_dump(exclude_unset=True),
|
||||||
|
)
|
||||||
|
zone.generate_contour(new_frame_shape)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
merged = deep_merge(current.model_dump(), update, override=True)
|
merged = deep_merge(current.model_dump(), update, override=True)
|
||||||
setattr(camera_config, section, current.__class__.model_validate(merged))
|
setattr(camera_config, section, current.__class__.model_validate(merged))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user