From 021e0707e63bb16dffabd6d335504441a1c05e57 Mon Sep 17 00:00:00 2001 From: 2024snow <2103200855@qq.com> Date: Wed, 3 Jul 2024 18:26:40 +0800 Subject: [PATCH] update lane_infer_server.py --- lane_server/lane_infer_server.py | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/lane_server/lane_infer_server.py b/lane_server/lane_infer_server.py index 79871f1..a6b75ce 100644 --- a/lane_server/lane_infer_server.py +++ b/lane_server/lane_infer_server.py @@ -1,6 +1,7 @@ import toml import threading from loguru import logger +import logging import zmq from infer import Lane_model_infer import numpy as np @@ -10,9 +11,7 @@ lock = threading.Lock() response = {'code': 0, 'data': 0} -# context2 = zmq.Context() -# socket_server = context2.socket(zmq.PUB) -# socket_server.bind("tcp://*:7778") + # 处理 server 响应数据 def server_resp(lane_infer_port): @@ -29,9 +28,24 @@ def server_resp(lane_infer_port): with lock: socket.send_pyobj(response) -if __name__ == "__main__": - cfg = toml.load('../cfg_infer_server.toml') +def lane_infer_server_main(queue): + + context2 = zmq.Context() + socket_server = context2.socket(zmq.PUB) + socket_server.setsockopt(zmq.SNDHWM,10) + socket_server.bind("tcp://*:7778") + + if queue != None: + class Handler(logging.Handler): + def emit(self, record): + log_entry = self.format(record) + queue.put({'level': record.levelname.lower(), 'content': log_entry}) + # logger.remove() + handler = Handler() + logger.add(handler, format="{time:MM-DD HH:mm:ss} {message}", level="DEBUG") + + cfg = toml.load('/home/evan/Workplace/project_infer/cfg_infer_server.toml') # 配置日志输出 logger.add(cfg['debug']['logger_filename'], format=cfg['debug']['logger_format'], retention = 5, level="INFO") @@ -62,10 +76,13 @@ if __name__ == "__main__": with lock: response['data'] = result # print(result) - # cv2.circle(frame,(int(result[0]),int(result[1])),5,(0,255,0),-1) - # socket_server.send_pyobj(frame) + cv2.circle(frame,(int(result[0]),int(result[1])),5,(0,255,0),-1) + cv2.putText(frame, f"{int(result[0]) - 160}", (0,25), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0,0,255), 2, cv2.LINE_AA) + socket_server.send_pyobj(frame) if cv2.waitKey(1) == 27: break mythread.join() logger.info("lane infer server exit") +if __name__ == "__main__": + lane_infer_server_main(None) \ No newline at end of file