|
|
import requests |
|
|
from PIL import Image |
|
|
from io import BytesIO |
|
|
from utils.image_processing import extract_text_from_image, analyze_image |
|
|
from utils.logging_utils import setup_logging |
|
|
|
|
|
def analyze_image_url(image_url, caption): |
|
|
"""Analyze an image from a URL.""" |
|
|
setup_logging() |
|
|
try: |
|
|
|
|
|
response = requests.get(image_url) |
|
|
response.raise_for_status() |
|
|
image = Image.open(BytesIO(response.content)) |
|
|
|
|
|
|
|
|
extracted_text = extract_text_from_image(image) |
|
|
logging.info(f"Extracted text: {extracted_text}") |
|
|
|
|
|
|
|
|
image_analysis = analyze_image(image) |
|
|
if image_analysis is not None: |
|
|
logging.info("Image analysis completed successfully.") |
|
|
except Exception as e: |
|
|
logging.error(f"Error processing image: {e}") |