mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-07 03:35:26 +03:00
Adjust motion calibration to be more dynamic
This commit is contained in:
parent
facd557f8c
commit
859043c58b
@ -1,11 +1,14 @@
|
|||||||
import cv2
|
import cv2
|
||||||
import imutils
|
import imutils
|
||||||
|
import logging
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from scipy.ndimage import gaussian_filter
|
from scipy.ndimage import gaussian_filter
|
||||||
|
|
||||||
from frigate.config import MotionConfig
|
from frigate.config import MotionConfig
|
||||||
from frigate.motion import MotionDetector
|
from frigate.motion import MotionDetector
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class ImprovedMotionDetector(MotionDetector):
|
class ImprovedMotionDetector(MotionDetector):
|
||||||
def __init__(
|
def __init__(
|
||||||
@ -138,8 +141,8 @@ class ImprovedMotionDetector(MotionDetector):
|
|||||||
self.motion_frame_size[0] * self.motion_frame_size[1]
|
self.motion_frame_size[0] * self.motion_frame_size[1]
|
||||||
)
|
)
|
||||||
|
|
||||||
# once the motion drops to less than 1% for the first time, assume its calibrated
|
# once the motion is less than 5% and the number of contours is < 4, assume its calibrated
|
||||||
if pct_motion < 0.01:
|
if pct_motion < 0.05 and len(motion_boxes) <= 4:
|
||||||
self.calibrating = False
|
self.calibrating = False
|
||||||
|
|
||||||
# if calibrating or the motion contours are > 80% of the image area (lightning, ir, ptz) recalibrate
|
# if calibrating or the motion contours are > 80% of the image area (lightning, ir, ptz) recalibrate
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user