Làm thế nào để trích xuất văn bản từ hình ảnh bằng Python

By hientd, at: 20:17 Ngày 05 tháng 4 năm 2024

Thời gian đọc ước tính: __READING_TIME__ minutes

How to Extract Text from Images Using Python
How to Extract Text from Images Using Python

Trích xuất văn bản từ hình ảnh - một quy trình được gọi là Nhận dạng Ký tự Quang học (OCR) - có vô số ứng dụng, từ số hóa tài liệu in đến xử lý biển báo đường phố theo thời gian thực.

 

Python, với hệ sinh thái phong phú các thư viện và API, cung cấp nhiều giải pháp cho các tác vụ OCR. Bài viết này khám phá bốn thư viện Python phổ biến và bốn API đám mây để trích xuất văn bản từ hình ảnh.

 

Thư viện Python cho OCR

 

1. pytesseract

 

  • Mô tả: Một trình bao bọc cho Công cụ Tesseract-OCR của Google.
     
  • Đoạn mã: bạn cần chạy cài đặt trước pip install pytesseract

     
    from PIL import Image
    import pytesseract

    text = pytesseract.image_to_string(Image.open('image.jpg'))
    print(text)

     

  • Ưu điểm: Miễn phí và mã nguồn mở, hỗ trợ nhiều ngôn ngữ.
     
  • Nhược điểm: Có thể gặp khó khăn với các hình ảnh chứa bố cục phức tạp.

 

2. easyOCR

 

  • Mô tả: Một thư viện mới hơn hỗ trợ hơn 40 ngôn ngữ và được thiết kế để đơn giản.
     
  • Đoạn mã: cài đặt qua pip install easyocr
     
    import easyocr

    reader = easyocr.Reader(['en'])
    results = reader.readtext('image.jpg')
    print(results)

 

  • Ưu điểm: Dễ sử dụng, hiệu suất tốt trên nhiều loại hình ảnh.
     
  • Nhược điểm: Kích thước lớn do các mô hình học sâu của nó.

 

3. OCRopus

 

  • Mô tả: Một bộ công cụ OCR được viết bằng Python, tập trung vào nhận dạng tài liệu lịch sử.
     
  • Đoạn mã:
    # Mã giả vì OCRopus sử dụng dòng lệnh
    ocropus-rpred 'image.jpg'

 

  • Ưu điểm: Tốt cho tài liệu lịch sử, mã nguồn mở.
     
  • Nhược điểm: Kém hiệu quả hơn đối với bố cục văn bản hiện đại, dựa trên dòng lệnh.

 

API Đám mây cho OCR

 

1. Microsoft OCR

 

 

2. Amazon Textract

 

 

3. Google Cloud Vision API

 

  • Mô tả: Cung cấp các khả năng phân tích hình ảnh mạnh mẽ bao gồm phát hiện văn bản.
     
  • SDK: https://cloud.google.com/python/docs/reference/vision/latest
     
  • Ưu điểm: Độ chính xác cao, dễ dàng tích hợp với các dịch vụ Google khác.
     
  • Nhược điểm: Giá có thể là mối quan tâm đối với người dùng khối lượng cao.

 

Kết luận

 

Tóm lại, OCR Python cung cấp một loạt các công cụ và API đám mây linh hoạt, mỗi công cụ có điểm mạnh và điểm yếu riêng, phục vụ nhiều trường hợp sử dụng khác nhau, từ trích xuất văn bản đơn giản đến phân tích tài liệu phức tạp. Cho dù bạn đang làm việc với các bản thảo lịch sử hay tài liệu hiện đại, đều có một giải pháp PHÙ HỢP. Tuy nhiên, việc chọn công cụ hoặc API phù hợp phụ thuộc vào nhu cầu cụ thể của bạn, bao gồm độ chính xác, hỗ trợ ngôn ngữ, chi phí và mức độ dễ dàng tích hợp. 

 

Vì ChatGPT có sẵn trong Azure Services, Microsoft Document Intelligence hoặc OCR có vẻ là tốt nhất hiện nay

 

Cập nhật mới nhất - 1/8/2025: Gần đây, chúng tôi đã có một bài đăng mới trên LinkedIn từ Andrew Ng, hãy xem nó.

Tag list:
- Python
- Microsoft AI
- OCRopus
- easyOCR
- Google AI
- Packages
- extract text
- pytesseract
- extract text from image
- OCR
- ChatGPT
- image to text

Liên quan

Python Project Management

Đọc thêm
Python AI

Đọc thêm

Theo dõi

Theo dõi bản tin của chúng tôi và không bao giờ bỏ lỡ những tin tức mới nhất.