Thư viện Python mã nguồn mở để trích xuất văn bản từ hình ảnh
Sử dụng PyTesseract OCR để dễ dàng trích xuất văn bản in hoặc chữ viết tay từ hình ảnh.
PyTesseract API trong Python là gì?
PyTesseract là một thư viện Python hỗ trợ Tesseract-OCR, một công cụ mã nguồn mở mạnh mẽ để trích xuất văn bản từ hình ảnh. Thư viện này giúp các nhà phát triển dễ dàng chuyển đổi tài liệu được quét, ghi chú viết tay và văn bản trong hình ảnh sang định dạng có thể đọc được bằng máy. PyTesseract được sử dụng rộng rãi trong tự động hóa, trích xuất dữ liệu, số hóa tài liệu và các ứng dụng trí tuệ nhân tạo (AI) yêu cầu nhận dạng ký tự quang học (OCR).
Thư viện này đặc biệt hữu ích trong việc tự động hóa nhập dữ liệu, nhận diện văn bản từ ảnh chụp màn hình và số hóa tài liệu in. Với sự hỗ trợ đa ngôn ngữ và các kỹ thuật xử lý ảnh nâng cao, PyTesseract cung cấp một giải pháp hiệu quả và linh hoạt để trích xuất văn bản từ hình ảnh.
Các Tính Năng Chính của PyTesseract API
- Chuyển đổi hình ảnh sang văn bản: Trích xuất văn bản in hoặc viết tay từ hình ảnh bằng OCR.
- Hỗ trợ nhiều ngôn ngữ: Nhận diện hơn 100 ngôn ngữ bằng mô hình Tesseract OCR.
- Tương thích với xử lý ảnh trước: Kết hợp với OpenCV và PIL để cải thiện chất lượng hình ảnh trước khi xử lý OCR.
- Trích xuất văn bản từ PDF: Chuyển đổi tệp PDF đã quét thành văn bản có thể tìm kiếm.
- Trích xuất văn bản kèm theo vị trí: Xác định vị trí văn bản trong hình ảnh.
- Xử lý hàng loạt: Thực hiện OCR trên nhiều hình ảnh cùng một lúc.
- Hỗ trợ đa nền tảng: Chạy trên Windows, macOS và Linux.
- Mã nguồn mở: Miễn phí sử dụng và được cộng đồng hỗ trợ.
Cài Đặt PyTesseract
Trước khi sử dụng PyTesseract, hãy đảm bảo rằng Tesseract-OCR đã được cài đặt trên hệ thống của bạn.
Hướng Dẫn Cài Đặt
Cài đặt PyTesseract và các thư viện phụ thuộc
pip install pytesseract pillow opencv-python
Cài đặt Tesseract-OCR trên Windows:
Cài đặt Tesseract-OCR (Windows)
# Tải xuống Tesseract tại:
https://github.com/UB-Mannheim/tesseract/wiki
Cài đặt trên Linux:
Cài đặt Tesseract-OCR (Linux)
sudo apt install tesseract-ocr
Ví Dụ Mã Python Sử Dụng PyTesseract API
Ví dụ 1: Trích xuất văn bản từ hình ảnh
Trích xuất văn bản từ hình ảnh
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
image = Image.open("sample.png")
text = pytesseract.image_to_string(image)
print(text)
Ví dụ 2: Trích xuất văn bản kèm theo vị trí
Trích xuất văn bản kèm theo vị trí
import pytesseract
import cv2
image = cv2.imread("sample.png")
h, w, _ = image.shape
boxes = pytesseract.image_to_boxes(image)
for b in boxes.splitlines():
b = b.split()
x, y, x2, y2 = int(b[1]), int(b[2]), int(b[3]), int(b[4])
cv2.rectangle(image, (x, h - y), (x2, h - y2), (0, 255, 0), 2)
cv2.imwrite("output.png", image)
Ví dụ 3: Trích xuất văn bản từ ảnh thang độ xám
Trích xuất văn bản từ ảnh thang độ xám
import pytesseract
import cv2
image = cv2.imread("sample.png")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
text = pytesseract.image_to_string(gray)
print(text)