yogafinal1 / app.py
Anm5's picture
Update app.py
f46aee3 verified
raw
history blame contribute delete
No virus
1.38 kB
from flask import Flask, request, jsonify
from PIL import Image
import io
import base64
import logging
import numpy as np
app = Flask(__name__)
# Dummy pose recognition function
def recognize_pose(image):
# Replace with your model inference code
pose = "warrior" # Example dummy pose
return pose
@app.route('/api/recognize_pose', methods=['POST'])
def api_recognize_pose():
try:
# Decode the image from the request
image_data = request.json['image'].split(",")[1]
image_bytes = base64.b64decode(image_data)
image = Image.open(io.BytesIO(image_bytes))
# Preprocess and recognize pose
image = preprocess_image(image)
pose = recognize_pose(image)
return jsonify({'pose': pose})
except KeyError as ke:
logging.error(f"Key Error: {ke}")
return jsonify({'error': 'Invalid input data format'}), 400
except Exception as e:
logging.error(f"Unexpected error: {e}")
return jsonify({'error': str(e)}), 500
def preprocess_image(image):
# Example preprocessing; adjust as needed for your model
image = image.resize((224, 224)) # Resize image to expected input size
image = np.array(image) / 255.0 # Normalize image
image = np.expand_dims(image, axis=0) # Add batch dimension
return image
if __name__ == '__main__':
app.run(debug=True)