Im going crazy

This commit is contained in:
2025-12-31 14:26:20 +01:00
parent 13ec518d2a
commit 29e6b18534
3 changed files with 6 additions and 6 deletions

View File

@@ -65,6 +65,7 @@ def start_party():
def make_move(): def make_move():
try: try:
frame, fen = game_service.make_move() frame, fen = game_service.make_move()
encoded_frame = cv2.imencode('.jpg', frame, [int(cv2.IMWRITE_JPEG_QUALITY), 80])
print(fen) print(fen)
headers = {'Content-Type': 'image/jpeg'} headers = {'Content-Type': 'image/jpeg'}

View File

@@ -40,7 +40,7 @@ class DetectionService:
def stop(self): def stop(self):
self.camera.close() self.camera.close()
def analyze_single_frame(self) -> tuple[bytes, str | None]: def analyze_single_frame(self) -> tuple[np.ndarray, str | None]:
frame = self.camera.take_photo() frame = self.camera.take_photo()
result = self.__run_complete_detection(frame) result = self.__run_complete_detection(frame)
@@ -49,16 +49,15 @@ class DetectionService:
processed_frame = self.board_manager.process_frame(edges_prediction[0], frame, self.scale_size) processed_frame = self.board_manager.process_frame(edges_prediction[0], frame, self.scale_size)
if processed_frame is None: if processed_frame is None:
return frame.tobytes(), None return frame, None
warped_corners = processed_frame[0] warped_corners, matrix = processed_frame
matrix = processed_frame[1]
detections = self.pieces_manager.extract_pieces(pieces_prediction) detections = self.pieces_manager.extract_pieces(pieces_prediction)
board = self.pieces_manager.pieces_to_board(detections, warped_corners, matrix, self.scale_size) board = self.pieces_manager.pieces_to_board(detections, warped_corners, matrix, self.scale_size)
return cv2.imencode(".jpg", pieces_prediction[0].plot())[1].tobytes(), self.pieces_manager.board_to_fen(board) return pieces_prediction[0].plot(), self.pieces_manager.board_to_fen(board)
def __run_complete_detection(self, frame : np.ndarray, display=False) -> dict[str, list[Results]] : def __run_complete_detection(self, frame : np.ndarray, display=False) -> dict[str, list[Results]] :
pieces_prediction = self.__run_pieces_detection(frame) pieces_prediction = self.__run_pieces_detection(frame)

View File

@@ -23,5 +23,5 @@ class GameService:
self.clock_service.stop() self.clock_service.stop()
self.detection_service.stop() self.detection_service.stop()
def make_move(self) -> tuple[bytes, str]: def make_move(self) -> tuple[np.ndarray, str]:
return self.detection_service.analyze_single_frame() return self.detection_service.analyze_single_frame()