Cách trích xuất văn bản từ ả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ó rất nhiều ứng dụng, từ số hóa tài liệu in ấn đến xử lý biển báo đường phố trong thời gian thực.

 

Python, với hệ sinh thái phong phú các thư viện và API, cung cấp một số giải pháp cho các nhiệm vụ OCR. Bài viết này sẽ 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 wrapper cho Google's Tesseract-OCR Engine.
     
  • Đ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 có 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 hóa.
     
  • Đ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 năng tốt trên nhiều loại hình ảnh.
     
  • Nhược điểm: Kích thước lớn hơn do các mô hình học sâu của nó.

 

3. OCRopus

 

  • Mô tả: Một bộ OCR được viết bằng Python, tập trung vào việc 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: Ít 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 khả năng phân tích hình ảnh mạnh mẽ bao gồm cả 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ễ tích hợp với các dịch vụ Google khác.
     
  • Nhược điểm: Giá cả có thể là mối quan tâm đối với người dùng có khối lượng lớn.

 

Kết luận

 

Tóm lại, Python OCR 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ó những điểm mạnh và điểm yếu riêng, đáp ứng 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 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à dễ dàng tích hợp. 

 

Vì ChatGPT hiện có sẵn trong Dịch vụ Azure, nên Microsoft Document Intelligence hoặc OCR dường như là tốt nhất hiện nay

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.