This commit is contained in:
Casper 2019-04-25 16:00:04 +02:00
parent cfad55dd65
commit 5cab218b50
2 changed files with 57 additions and 21 deletions

View File

@ -10,27 +10,22 @@ from runner import find_homography, warp_board
from tensor_classifier import predict_board
while True:
try:
stdin = sys.stdin.readline()
stdin_decoded = base64.b64decode(stdin)
img_array = np.frombuffer(stdin_decoded, dtype=np.uint8)
camera_img = cv2.imdecode(img_array, flags=cv2.COLOR_BGR2RGB)
camera_img = cv2.cvtColor(camera_img, cv2.COLOR_BGR2RGB)
stdin = sys.stdin.readline()
stdin_decoded = base64.b64decode(stdin)
img_array = np.frombuffer(stdin_decoded, dtype=np.uint8)
camera_img = cv2.imdecode(img_array, flags=cv2.COLOR_BGR2RGB)
camera_img = cv2.cvtColor(camera_img, cv2.COLOR_BGR2RGB)
# def do_everything:
homography = find_homography(camera_img)
warped_board = warp_board(camera_img, homography)
occupied_squares = find_occupied_squares(warped_board)
board = predict_board(occupied_squares)
# def do_everything:
homography = find_homography(camera_img)
warped_board = warp_board(camera_img, homography)
occupied_squares = find_occupied_squares(warped_board)
board = predict_board(occupied_squares)
# Finally, output to stdout for unity to read
result = {
"homography": homography.tolist(),
"board": board.to_array,
}
# Finally, output to stdout for unity to read
result = {
"homography": homography.tolist(),
"board": board.to_array,
}
print(json.dumps(result))
exit() # TODO
except Exception as e:
print(e)
print(json.dumps(result))

41
web.py Normal file
View File

@ -0,0 +1,41 @@
import base64
import cv2
import numpy as np
from flask import Flask, jsonify, request
from main import find_occupied_squares
from runner import find_homography, warp_board
from tensor_classifier import predict_board
app = Flask(__name__)
@app.route("/", methods=["POST"])
def process():
data = request.get_json(force=True)
decoded = base64.b64decode(data["img"])
img_array = np.frombuffer(decoded, dtype=np.uint8)
camera_img = cv2.imdecode(img_array, flags=cv2.COLOR_BGR2RGB)
camera_img = cv2.cvtColor(camera_img, cv2.COLOR_BGR2RGB)
# def do_everything:
homography = find_homography(camera_img)
warped_board = warp_board(camera_img, homography)
occupied_squares = find_occupied_squares(warped_board)
board = predict_board(occupied_squares)
# Finally, output for unity to read
return jsonify({
"homography": homography.tolist(),
"board": board.to_array,
})
def main():
app.run(host='0.0.0.0', debug=True)
if __name__ == '__main__':
main()