#########################################################
# Copyright (C) 2024-25 SiMa Technologies, Inc.
#
# This material is SiMa proprietary and confidential.
#
# This material may not be copied or distributed without
# the express prior written permission of SiMa.
#
# All rights reserved.
#########################################################
import sima
import yaml
with open("project.yaml", "r") as file:
[docs]
external_params = yaml.safe_load(file)
[docs]
reader = sima.VideoReader(external_params["source"])
[docs]
writer = sima.VideoWriter(external_params["source"], external_params["udp_host"], external_params["port"],
reader.frame_width, reader.frame_height)
[docs]
model_params = external_params["Models"][0]
[docs]
session = sima.MLSoCSession(model_params["targz"], pipeline=external_params["pipeline"],
frame_width=reader.frame_width, frame_height=reader.frame_height)
session.configure(model_params)
while reader.isOpened():
ret, frame = reader.read()
if not ret:
continue
[docs]
boxes = session.run_model(frame)
annotated_frame = sima.SimaBoxRender.render(
frame, boxes, reader.frame_width, reader.frame_height, model_params["label_file"])
writer.write(annotated_frame)