diff --git a/core/CapManager.py b/core/CapManager.py index 0c10d2d..3b7b869 100644 --- a/core/CapManager.py +++ b/core/CapManager.py @@ -87,7 +87,13 @@ class VideoCaptureWithFPS: self.cap.release() self.bok = False print(f"{self.source}视频流,将于{sleep_time}秒后重连!") - time.sleep(sleep_time) + # 分段休眠,检测 self.running + total_sleep = 0 + while total_sleep < sleep_time: + if not self.running: + return + time.sleep(2) + total_sleep += 2 #释放cap资源,由release调用实现 #resized_frame = cv2.resize(frame, (int(self.width / 2), int(self.height / 2))) diff --git a/core/ModelManager.py b/core/ModelManager.py index 0896388..0e77538 100644 --- a/core/ModelManager.py +++ b/core/ModelManager.py @@ -123,6 +123,10 @@ class ModelManager: #重新读取工作线程数据,重启该通道的工作线程 self.startModelWork(channel_id) + '''模型独立线程修改2024-9-9,要求是双模式兼容''' + def thModel(self): + pass + def test1(self): # from model.plugins.RYRQ_Model_ACL.RYRQ_Model_ACL import Model # mymodel = Model("") diff --git a/model/plugins/RYRQ_ACL/RYRQ_Model_ACL.py b/model/plugins/RYRQ_ACL/RYRQ_Model_ACL.py index 67ab430..ad78942 100644 --- a/model/plugins/RYRQ_ACL/RYRQ_Model_ACL.py +++ b/model/plugins/RYRQ_ACL/RYRQ_Model_ACL.py @@ -48,7 +48,6 @@ class Model(ModelBase): output_torch = torch.tensor(output) boxout = nms(output_torch, conf_thres=0.4,iou_thres=0.5) del output_torch - output_torch = None pred_all = boxout[0].numpy() # 转换为numpy数组 -- [[],[],[]] --[x1,y1,x2,y2,置信度,coco_index] # pred_all[:, :4] 取所有行的前4列,pred_all[:,1]--第一列 scale_coords([640, 640], pred_all[:, :4], image.shape, ratio_pad=(scale_ratio, pad_size)) # 将推理结果缩放到原始图片大小