修改状态信息显示位置。
This commit is contained in:
parent
353543103d
commit
b9f8e1ed17
26
face_rec.py
26
face_rec.py
@ -1477,29 +1477,27 @@ class FaceRecognitionSystem:
|
||||
(255, 255, 255)
|
||||
)
|
||||
|
||||
# 绘制状态信息面板
|
||||
panel_height = 200
|
||||
panel_bg = np.zeros((panel_height, w, 3), dtype=np.uint8)
|
||||
# 绘制状态信息面板(左上角小窗口)
|
||||
panel_width = 350
|
||||
panel_height = 180
|
||||
panel_bg = np.zeros((panel_height, panel_width, 3), dtype=np.uint8)
|
||||
panel_bg[:] = (40, 40, 40)
|
||||
|
||||
# 状态信息
|
||||
y_offset = 30
|
||||
x_offset = 15
|
||||
line_spacing = 30
|
||||
y_offset = 15
|
||||
x_offset = 10
|
||||
line_spacing = 22
|
||||
|
||||
# WebSocket连接状态
|
||||
ws_status = "已连接" if self.ws_connected else "未连接"
|
||||
ws_color = (0, 255, 0) if self.ws_connected else (0, 0, 255)
|
||||
|
||||
status_texts = [
|
||||
# f"帧率: {self.display_info['fps']:.1f} FPS",
|
||||
# f"帧数: {self.display_info['frame_count']}",
|
||||
f"质量: {self.display_info['quality']:.1f}",
|
||||
# f"检测到人脸: {'是' if self.display_info['face_detected'] else '否'}",
|
||||
f"WebSocket: {ws_status}",
|
||||
f"机器人说话: {'是' if self.robot_status['is_speaking'] else '否'}",
|
||||
f"机器人思考: {'是' if self.robot_status['is_thinking'] else '否'}",
|
||||
f"机器人角色: {self.robot_status['role_name']}"
|
||||
f"角色: {self.robot_status['role_name']}"
|
||||
]
|
||||
|
||||
# 如果人脸持续出现,显示倒计时
|
||||
@ -1512,7 +1510,7 @@ class FaceRecognitionSystem:
|
||||
# 使用PIL绘制中文状态文本
|
||||
for i, text in enumerate(status_texts):
|
||||
# WebSocket状态使用特殊颜色
|
||||
if i == 4: # "WebSocket: " 这一行
|
||||
if "WebSocket" in text:
|
||||
panel_bg = self.cv2_add_chinese_text(
|
||||
panel_bg,
|
||||
text,
|
||||
@ -1529,8 +1527,10 @@ class FaceRecognitionSystem:
|
||||
(255, 255, 255)
|
||||
)
|
||||
|
||||
# 将面板添加到画面底部
|
||||
display_frame = np.vstack([display_frame, panel_bg])
|
||||
# 将小面板叠加到画面左下角
|
||||
h, w = display_frame.shape[:2]
|
||||
y_start = h - panel_height
|
||||
display_frame[y_start:h, 0:panel_width] = panel_bg
|
||||
|
||||
return display_frame
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user