Heim > Backend-Entwicklung > Python-Tutorial > Erstellen Sie eine Textextraktions-App mit Python-Code unter Zeilen mithilfe von Gradio und Hugging Face

Erstellen Sie eine Textextraktions-App mit Python-Code unter Zeilen mithilfe von Gradio und Hugging Face

Susan Sarandon
Freigeben: 2024-11-01 11:20:02
Original
413 Leute haben es durchsucht

Build a Text Extractor App with Python Code Under Lines Using Gradio and Hugging Face

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.

Voraussetzungen

Bevor Sie beginnen, benötigen Sie ein Hugging Face-Konto und grundlegende Kenntnisse mit Docker.

Schritt-für-Schritt-Anleitung

Schritt 1: Erstellen Sie einen umarmenden Gesichtsbereich

  1. Navigieren Sie zu Hugging Face Spaces: Melden Sie sich bei Hugging Face an und gehen Sie zum Abschnitt „Spaces“.
  2. Neuen Bereich erstellen:
    • Klicken Sie auf „Neuer Bereich“.
    • Benennen Sie Ihren Bereich (z. B. Bild-Text-Extraktor).
    • Wählen Sie Gradio als SDK und legen Sie die Sichtbarkeit fest (öffentlich oder privat).
    • Klicken Sie auf „Bereich erstellen“.

Schritt 2: Erstellen Sie eine Docker-Datei

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"]
Nach dem Login kopieren

Schritt 3: Erstellen Sie die OCR-Anwendung

  1. Erstellen Sie eine Datei namens app.py mit folgendem Inhalt:
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)
Nach dem Login kopieren
  1. Erstellen Sie eine „requirements.txt“-Datei, um die Abhängigkeiten anzugeben:
gradio
pytesseract
Pillow
Nach dem Login kopieren

Dieses Setup beinhaltet:

  • Bild-Upload: gr.Image(type="filepath") ermöglicht Benutzern das Hochladen von Bildern als Dateipfade, die von Pytesseract verarbeitet werden.
  • Textextraktion: pytesseract.image_to_string extrahiert Text aus dem Bild.
  • Benutzeroberfläche: Gradio generiert eine einfache Benutzeroberfläche, über die Benutzer ein Bild hochladen und extrahierten Text anzeigen können.

Schritt 4: Schieben Sie alle Dateien in enge Gesichtsbereiche

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage