کتابخانه متنباز پایتون برای استخراج متن از تصاویر
با استفاده از 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)