From 8e31d04d907d20967ca1f24332f2b4d0b80b454f Mon Sep 17 00:00:00 2001 From: Blake Blackshear Date: Fri, 16 Oct 2020 17:50:40 -0500 Subject: [PATCH] scale font of timestamp dynamically --- frigate/object_processing.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frigate/object_processing.py b/frigate/object_processing.py index e473e572c..76677b6a4 100644 --- a/frigate/object_processing.py +++ b/frigate/object_processing.py @@ -268,6 +268,7 @@ class TrackedObjectProcessor(threading.Thread): def snapshot(camera, obj): if not 'frame' in obj: return + best_frame = cv2.cvtColor(obj['frame'], cv2.COLOR_YUV2BGR_I420) if self.camera_config[camera]['snapshots']['draw_bounding_boxes']: thickness = 2 @@ -285,8 +286,10 @@ class TrackedObjectProcessor(threading.Thread): best_frame = cv2.resize(best_frame, dsize=(width, height), interpolation=cv2.INTER_AREA) if self.camera_config[camera]['snapshots']['show_timestamp']: + original_shape = self.camera_config[camera]['frame_shape'] + font_scale = (best_frame.shape[0]*best_frame.shape[1])/(original_shape[0]*original_shape[1])*0.8 time_to_show = datetime.datetime.fromtimestamp(obj['frame_time']).strftime("%m/%d/%Y %H:%M:%S") - cv2.putText(best_frame, time_to_show, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, fontScale=.8, color=(255, 255, 255), thickness=2) + cv2.putText(best_frame, time_to_show, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, fontScale=font_scale, color=(255, 255, 255), thickness=2) ret, jpg = cv2.imencode('.jpg', best_frame) if ret: