Ajax(Asynchronous JavaScript and XML) 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页应用能够快速地更新内容。
Flask 是一个轻量级的Web应用框架,用Python编写。它提供了必要的工具和技术来构建一个Web应用,包括路由、模板引擎、表单处理等。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Image Classification</title>
</head>
<body>
<input type="file" id="imageUpload" accept="image/*">
<button id="classifyBtn">Classify Image</button>
<div id="result"></div>
<script>
document.getElementById('classifyBtn').addEventListener('click', function() {
var image = document.getElementById('imageUpload').files[0];
var formData = new FormData();
formData.append("image", image);
fetch('/classify', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
document.getElementById('result').innerText = data.classification;
})
.catch(error => {
console.error('Error:', error);
});
});
</script>
</body>
</html>
from flask import Flask, request, jsonify
import tensorflow as tf
app = Flask(__name__)
# 假设你已经有一个训练好的模型
model = tf.keras.models.load_model('path_to_your_model')
@app.route('/classify', methods=['POST'])
def classify_image():
image = request.files['image']
image = tf.image.decode_image(image.read(), channels=3)
image = tf.image.resize(image, [224, 224]) # 根据你的模型调整大小
image = tf.expand_dims(image, 0)
predictions = model.predict(image)
classification = tf.argmax(predictions, axis=1).numpy()[0]
return jsonify({'classification': int(classification)})
if __name__ == '__main__':
app.run(debug=True)
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
请注意,上述代码示例仅供参考,实际应用中可能需要根据具体需求进行调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云