ensure some valid thumbnail is available

This commit is contained in:
Blake Blackshear 2020-11-09 21:00:06 -06:00
parent 7015eb66f2
commit b825eb44fe

View File

@ -78,7 +78,8 @@ class TrackedObject():
}
self.frame = None
self._snapshot_jpg_time = 0
self._snapshot_jpg = None
ret, jpg = cv2.imencode('.jpg', np.zeros((300,300,3), np.uint8))
self._snapshot_jpg = jpg.tobytes()
# start the score history
self.score_history = [self.obj_data['score']]
@ -165,6 +166,12 @@ class TrackedObject():
if self._snapshot_jpg_time == self.thumbnail_data['frame_time']:
return self._snapshot_jpg
if not self.thumbnail_data['frame_time'] in self.thumbnail_frames:
logger.error(f"Unable to create thumbnail for {self.obj_data['id']}")
logger.error(f"Looking for frame_time of {self.thumbnail_data['frame_time']}")
logger.error(f"Thumbnail frames: {','.join([str(k) for k in self.thumbnail_frames.keys()])}")
return self._snapshot_jpg
# TODO: crop first to avoid converting the entire frame?
snapshot_config = self.camera_config.snapshots
best_frame = cv2.cvtColor(self.thumbnail_frames[self.thumbnail_data['frame_time']], cv2.COLOR_YUV2BGR_I420)