pref: 拍照更快

This commit is contained in:
2026-08-10 11:38:12 +08:00
parent f0df9ad915
commit 3683033abf
5 changed files with 26 additions and 11 deletions
+9 -2
View File
@@ -311,17 +311,24 @@ def analyze_shot(frame, laser_point=None):
return _build_circle_result(cdata, roi_xyxy)
def process_shot(adc_val):
def process_shot(adc_val, pre_frame=None):
"""
处理射箭事件(逻辑控制部分)
:param adc_val: ADC触发值
:param pre_frame: 主循环预读的最新帧(可选),传入则跳过拍照以减少延迟
:return: None
"""
logger = logger_manager.logger
try:
# 优先使用预读帧(零延迟),否则实时拍照
if pre_frame is not None:
frame = pre_frame
else:
frame = camera_manager.read_frame()
# 网络事件移到拍照之后,避免阻塞拍照
network_manager.safe_enqueue({"shoot_event": "start"}, msg_type=2, high=True)
frame = camera_manager.read_frame()
# 调用算法分析
analysis_result = analyze_shot(frame)