fix: 摄像头翻转

This commit is contained in:
2026-09-01 11:45:02 +08:00
parent 0c8ab1508f
commit e67c410325
4 changed files with 30 additions and 3 deletions
+26 -1
View File
@@ -8,6 +8,15 @@ import threading
import config
from logger_manager import logger_manager
_USE_CV = False
try:
import cv2
import numpy as np
from maix import image as _maix_image
_USE_CV = True
except ImportError:
pass
class CameraManager:
"""相机管理器(单例)"""
@@ -101,7 +110,23 @@ class CameraManager:
with self._camera_lock:
if self._camera is None:
self.init_camera()
return self._camera.read()
frame = self._camera.read()
if frame is not None and _USE_CV:
try:
v_flip = getattr(config, 'CAMERA_V_FLIP', False)
h_mirror = getattr(config, 'CAMERA_H_MIRROR', False)
if v_flip or h_mirror:
img_cv = _maix_image.image2cv(frame, False, False)
if v_flip and h_mirror:
img_cv = cv2.flip(img_cv, -1)
elif v_flip:
img_cv = cv2.flip(img_cv, 0)
elif h_mirror:
img_cv = cv2.flip(img_cv, 1)
frame = _maix_image.cv2image(img_cv, False, False)
except Exception:
pass
return frame
def show(self, image):
"""