کتابخانه متن‌باز پایتون برای استخراج متن از تصاویر

با استفاده از PyTesseract OCR، متن چاپی و دست‌نویس را از تصاویر به‌راحتی استخراج کنید.

PyTesseract API چیست؟

PyTesseract یک رابط پایتون برای موتور Tesseract-OCR است که یک ابزار قدرتمند متن‌باز برای استخراج متن از تصاویر محسوب می‌شود. این ابزار به توسعه‌دهندگان امکان می‌دهد تا اسناد اسکن‌شده، یادداشت‌های دست‌نویس و متن‌های داخل تصاویر را به فرمت قابل خواندن توسط ماشین تبدیل کنند. PyTesseract در اتوماسیون، استخراج داده‌ها، دیجیتالی‌سازی اسناد و برنامه‌های هوش مصنوعی که به تشخیص کاراکتر نوری (OCR) نیاز دارند، به طور گسترده استفاده می‌شود.

این کتابخانه به‌ویژه برای خودکارسازی ورود داده‌ها، تشخیص متن از اسکرین‌شات‌ها و دیجیتالی‌سازی اسناد چاپی مفید است. با پشتیبانی از چندین زبان و تکنیک‌های پردازش تصویر، PyTesseract یک راهکار مؤثر و منعطف برای استخراج متن از تصاویر ارائه می‌دهد.

ویژگی‌های کلیدی PyTesseract API

  • تبدیل تصویر به متن: استخراج متن چاپی یا دست‌نویس از تصاویر با استفاده از OCR.
  • پشتیبانی از چندین زبان: تشخیص بیش از ۱۰۰ زبان با استفاده از مدل‌های Tesseract OCR.
  • سازگاری با پردازش اولیه تصویر: کار با OpenCV و PIL برای بهبود کیفیت تصاویر قبل از OCR.
  • استخراج متن از PDF: تبدیل فایل‌های PDF اسکن‌شده به متن قابل جستجو.
  • استخراج متن همراه با جعبه‌های مرزبندی: بازیابی متن همراه با موقعیت آن در تصویر.
  • پردازش گروهی: اجرای OCR به صورت مؤثر بر روی چندین تصویر.
  • سازگاری با چندین سیستم‌عامل: قابل اجرا بر روی Windows، macOS و Linux.
  • متن‌باز: رایگان و پشتیبانی‌شده توسط جامعه برنامه‌نویسان.

نصب PyTesseract

قبل از استفاده از PyTesseract، مطمئن شوید که Tesseract-OCR روی سیستم شما نصب شده است.

نصب

نصب PyTesseract و وابستگی‌ها


pip install pytesseract pillow opencv-python

نصب Tesseract-OCR در ویندوز:

نصب Tesseract-OCR (ویندوز)


# دریافت Tesseract از:
https://github.com/UB-Mannheim/tesseract/wiki

نصب در لینوکس:

نصب Tesseract-OCR (لینوکس)


sudo apt install tesseract-ocr

نمونه کدهای استخراج متن با PyTesseract API

نمونه ۱: استخراج متن از تصویر

استخراج متن از تصویر


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)

نمونه ۲: استخراج متن با جعبه‌های مرزبندی

استخراج متن با جعبه‌های مرزبندی


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)

نمونه ۳: استخراج متن از تصویر خاکستری

استخراج متن از تصویر خاکستری


import pytesseract
import cv2

image = cv2.imread("sample.png")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
text = pytesseract.image_to_string(gray)

print(text)

محصولات مشابه

 فارسی