Rumah >pembangunan bahagian belakang >Tutorial Python >Bina Apl Pengekstrak Teks dengan Kod Python Di Bawah Garis Menggunakan Gradio dan Muka Memeluk
siaran asal: https://baxin.netlify.app/build-text-extractor-python-under-30-lines/
Mengekstrak teks daripada imej, yang dikenali sebagai Pengecaman Aksara Optik (OCR), ialah ciri berharga untuk aplikasi dalam pemprosesan dokumen, pengekstrakan data dan kebolehaksesan. Dalam panduan ini, kami akan mencipta aplikasi OCR menggunakan perpustakaan Python seperti pytesseract untuk OCR, Bantal untuk pemprosesan imej dan Gradio untuk membina UI interaktif. Kami akan menggunakan apl ini pada Memeluk Face Spaces.
Sebelum bermula, anda memerlukan akaun Hugging Face dan kebiasaan asas dengan Docker.
Untuk digunakan pada Memeluk Face Spaces dengan kebergantungan sistem yang diperlukan, seperti Tesseract untuk OCR, kami memerlukan Fail Docker yang mengkonfigurasi persekitaran.
Buat fail Docker dengan kandungan berikut:
# 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
Persediaan ini termasuk:
Dengan semua fail dibuat, tolaknya ke Ruang Wajah Memeluk anda
Atas ialah kandungan terperinci Bina Apl Pengekstrak Teks dengan Kod Python Di Bawah Garis Menggunakan Gradio dan Muka Memeluk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!