Originalbeitrag: https://baxin.netlify.app/build-text-extractor-python-under-30-lines/
Das Extrahieren von Text aus Bildern, bekannt als optische Zeichenerkennung (OCR), ist eine wertvolle Funktion für Anwendungen in der Dokumentenverarbeitung, Datenextraktion und Barrierefreiheit. In diesem Leitfaden erstellen wir eine OCR-App unter Verwendung von Python-Bibliotheken wie Pytesseract für OCR, Pillow für die Bildverarbeitung und Gradio für den Aufbau einer interaktiven Benutzeroberfläche. Wir werden diese App auf Hugging Face Spaces bereitstellen.
Bevor Sie beginnen, benötigen Sie ein Hugging Face-Konto und grundlegende Kenntnisse mit Docker.
Zur Bereitstellung auf Hugging Face Spaces mit erforderlichen Systemabhängigkeiten, wie z. B. Tesseract für OCR, benötigen wir eine Docker-Datei, die die Umgebung konfiguriert.
Erstellen Sie eine Docker-Datei mit folgendem Inhalt:
# Use an official Python runtime as a parent image FROM python:3.12 ENV PIP_ROOT_USER_ACTION=ignore # Set the working directory in the container WORKDIR $HOME/app # Install system dependencies RUN apt-get update && apt-get install -y RUN apt-get install -y tesseract-ocr RUN apt-get install -y libtesseract-dev RUN apt-get install -y libgl1-mesa-glx RUN apt-get install -y libglib2.0-0 RUN pip install --upgrade pip # Copy requirements and install dependencies COPY requirements.txt requirements.txt RUN pip install --no-cache-dir -r requirements.txt # Copy the app code COPY app.py ./ # Expose the port for Gradio EXPOSE 7860 # Run the application CMD ["python", "app.py"]
import gradio as gr import pytesseract from PIL import Image import os def extract_text(image_path): if not image_path: return "No image uploaded. Please upload an image." if not os.path.exists(image_path): return f"Error: File not found at {image_path}" try: img = Image.open(image_path) text = pytesseract.image_to_string(img) return text if text.strip() else "No text detected in the image." except Exception as e: return f"An error occurred: {str(e)}" iface = gr.Interface( fn=extract_text, inputs=gr.Image(type="filepath", label="Upload an image"), outputs=gr.Textbox(label="Extracted Text"), title="Image Text Extractor", description="Upload an image and extract text from it using OCR." ) iface.launch(server_name="0.0.0.0", server_port=7860)
gradio pytesseract Pillow
Dieses Setup beinhaltet:
Schieben Sie alle erstellten Dateien in Ihren Hugging Face Space
Das obige ist der detaillierte Inhalt vonErstellen Sie eine Textextraktions-App mit Python-Code unter Zeilen mithilfe von Gradio und Hugging Face. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!