update
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
from flask import Blueprint, request, jsonify, send_file, render_template
|
||||
from app.utils.detector import MemoryDetector
|
||||
import os
|
||||
from PIL import Image
|
||||
import io
|
||||
|
||||
main_bp = Blueprint('main', __name__)
|
||||
detector = MemoryDetector()
|
||||
|
||||
@main_bp.route('/')
|
||||
def index():
|
||||
return render_template('index.html')
|
||||
|
||||
@main_bp.route('/detect', methods=['POST'])
|
||||
def detect_memory():
|
||||
if 'image' not in request.files:
|
||||
return jsonify({'error': 'No image provided'}), 400
|
||||
|
||||
file = request.files['image']
|
||||
|
||||
# Read the image
|
||||
img = Image.open(file.stream)
|
||||
|
||||
# Process the image and get annotated image and detections
|
||||
annotated_img, detections = detector.detect(img)
|
||||
|
||||
# Convert PIL image to bytes
|
||||
img_byte_arr = io.BytesIO()
|
||||
annotated_img.save(img_byte_arr, format='PNG')
|
||||
img_byte_arr.seek(0)
|
||||
|
||||
return send_file(
|
||||
img_byte_arr,
|
||||
mimetype='image/png'
|
||||
)
|
||||
|
||||
@main_bp.route('/detect/test', methods=['GET'])
|
||||
def detect_test():
|
||||
"""Endpoint for testing with a hardcoded image"""
|
||||
# Using an existing image from the validation set
|
||||
test_image_path = os.path.join('training', 'val', 'images', 'memory_out19.png')
|
||||
|
||||
if not os.path.exists(test_image_path):
|
||||
return jsonify({'error': f'Test image not found at {test_image_path}'}), 404
|
||||
|
||||
img = Image.open(test_image_path)
|
||||
# Get both the annotated image and detections
|
||||
annotated_img, detections = detector.detect(img)
|
||||
|
||||
img_byte_arr = io.BytesIO()
|
||||
annotated_img.save(img_byte_arr, format='PNG')
|
||||
img_byte_arr.seek(0)
|
||||
|
||||
return send_file(
|
||||
img_byte_arr,
|
||||
mimetype='image/png'
|
||||
)
|
||||
Reference in New Issue
Block a user