元の投稿: https://baxin.netlify.app/build-text-extractor-python-under-30-lines/
光学式文字認識 (OCR) として知られる画像からのテキストの抽出は、文書処理、データ抽出、およびアクセシビリティのアプリケーションにとって貴重な機能です。このガイドでは、OCR 用の pytesseract、画像処理用の Pillow、インタラクティブ UI 構築用の Gradio などの Python ライブラリを使用して OCR アプリを作成します。このアプリを Hugging Face Spaces にデプロイします。
始める前に、Hugging Face アカウントと Docker の基本的な知識が必要です。
OCR 用の Tesseract など、必要なシステム依存関係を持つ Hugging Face Spaces にデプロイするには、環境を構成する Dockerfile が必要です。
次の内容を含む Dockerfile を作成します:
# 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
このセットアップには以下が含まれます:
すべてのファイルを作成したら、ハグフェイススペースにプッシュします
以上がGradio と Hugging Face を使用して、線の下に Python コードを使用してテキスト抽出アプリを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。