This commit is contained in:
2025-12-31 14:39:20 +01:00
parent e1f5bfc491
commit 139b3992d8
3 changed files with 8 additions and 7 deletions

View File

@@ -65,13 +65,12 @@ def start_party():
def make_move():
try:
frame, fen = game_service.make_move()
encoded_frame = cv2.imencode('.jpg', frame, [int(cv2.IMWRITE_JPEG_QUALITY), 80])[1].tobytes()
print(fen)
headers = {'Content-Type': 'image/jpeg'}
body = {'frame': frame, 'fen': fen}
response = requests.post(
"https://192.168.15.125:1880/party/image",
data=encoded_frame,
data=body,
headers=headers,
verify=False)
print(response.status_code)

View File

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

View File

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