mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
allow mask to be base64 encoded into the config file
This commit is contained in:
parent
1f03c8cb8c
commit
e6c6338266
@ -126,7 +126,9 @@ cameras:
|
|||||||
# width: 720
|
# width: 720
|
||||||
|
|
||||||
################
|
################
|
||||||
## Optional mask. Must be the same aspect ratio as your video feed.
|
## Optional mask. Must be the same aspect ratio as your video feed. Value is either the
|
||||||
|
## name of a file in the config directory or a base64 encoded bmp image prefixed with
|
||||||
|
## 'base64,' eg. 'base64,asfasdfasdf....'.
|
||||||
##
|
##
|
||||||
## The mask works by looking at the bottom center of the bounding box for the detected
|
## The mask works by looking at the bottom center of the bounding box for the detected
|
||||||
## person in the image. If that pixel in the mask is a black pixel, it ignores it as a
|
## person in the image. If that pixel in the mask is a black pixel, it ignores it as a
|
||||||
|
@ -12,6 +12,7 @@ import numpy as np
|
|||||||
import copy
|
import copy
|
||||||
import itertools
|
import itertools
|
||||||
import json
|
import json
|
||||||
|
import base64
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from frigate.util import draw_box_with_label, area, calculate_region, clipped, intersection_over_union, intersection, EventsPerSecond, listen, PlasmaManager
|
from frigate.util import draw_box_with_label, area, calculate_region, clipped, intersection_over_union, intersection, EventsPerSecond, listen, PlasmaManager
|
||||||
from frigate.objects import ObjectTracker
|
from frigate.objects import ObjectTracker
|
||||||
@ -189,7 +190,12 @@ def track_camera(name, config, global_objects_config, frame_queue, frame_shape,
|
|||||||
|
|
||||||
# load in the mask for object detection
|
# load in the mask for object detection
|
||||||
if 'mask' in config:
|
if 'mask' in config:
|
||||||
mask = cv2.imread("/config/{}".format(config['mask']), cv2.IMREAD_GRAYSCALE)
|
if config['mask'].startswith('base64,'):
|
||||||
|
img = base64.b64decode(config['mask'][7:])
|
||||||
|
npimg = np.fromstring(img, dtype=np.uint8)
|
||||||
|
mask = cv2.imdecode(npimg, cv2.IMREAD_GRAYSCALE)
|
||||||
|
else:
|
||||||
|
mask = cv2.imread("/config/{}".format(config['mask']), cv2.IMREAD_GRAYSCALE)
|
||||||
else:
|
else:
|
||||||
mask = None
|
mask = None
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user