backend / app.py
ImageProcessing's picture
Update app.py
e09fe9c
from flask import Flask, request, jsonify
import requests
from imageEmbedding.index import get_image_embedding
from imageToText.index import extract_text
app = Flask(__name__)
@app.route('/extract_image_text_and_embedding', methods=['POST'])
def get_image_embedding_route():
try:
image_url = request.json.get("imageUrl")
print(image_url)
response = requests.get(image_url)
if response.status_code != 200:
return jsonify({"error": "Failed to download image"}), 500
binary_data = response.content
extracted_text = extract_text(binary_data)
image_embedding = get_image_embedding(binary_data)
image_embedding_list = image_embedding.tolist()
return jsonify({"image_embedding": image_embedding_list,"extracted_text":extracted_text}), 200
except Exception as e:
return jsonify({"error": str(e)}), 500
@app.route('/extract_image_text_and_embedding_binary_data', methods=['POST'])
def get_image_embedding_binary_route():
try:
# Assuming the image data is sent in the request body
binary_data = request.get_data()
if not binary_data:
return jsonify({"error": "No image data provided"}), 400
extracted_text = extract_text(binary_data)
image_embedding = get_image_embedding(binary_data)
image_embedding_list = image_embedding.tolist()
return jsonify({"image_embedding": image_embedding_list, "extracted_text": extracted_text}), 200
except Exception as e:
return jsonify({"error": str(e)}), 500