ספריית קוד פתוח בפייתון לחילוץ טקסט מתמונות
השתמשו ב-PyTesseract OCR כדי לחלץ בקלות טקסט מודפס וכתיבה ידנית מתמונות.
מהו PyTesseract API לפייתון?
PyTesseract הוא מעטפת פייתון עבור Tesseract-OCR, כלי קוד פתוח רב עוצמה לחילוץ טקסט מתמונות. הוא מאפשר למפתחים להמיר מסמכים סרוקים, כתיבה ידנית וטקסטים מתוך תמונות לפורמט קריא על ידי מחשב במינימום מאמץ. PyTesseract נמצא בשימוש נרחב באוטומציה, חילוץ נתונים, דיגיטציה של מסמכים וביישומי בינה מלאכותית (AI) הדורשים זיהוי אופטי של תווים (OCR).
הספרייה שימושית במיוחד לאוטומציה של הזנת נתונים, זיהוי טקסט מצילומי מסך ודיגיטציה של מסמכים מודפסים. עם תמיכה בשפות רבות וטכניקות לעיבוד תמונה, PyTesseract מספק פתרון יעיל וגמיש לחילוץ טקסט מתמונות.
תכונות עיקריות של PyTesseract API
- המרת תמונות לטקסט: חילוץ טקסט מודפס או כתיבה ידנית מתמונות באמצעות OCR.
- תמיכה בריבוי שפות: זיהוי ביותר מ-100 שפות באמצעות מודלים של Tesseract OCR.
- תאימות לעיבוד תמונה: עבודה עם OpenCV ו-PIL לשיפור איכות התמונה לפני OCR.
- חילוץ טקסט מקובצי PDF: המרת קובצי PDF סרוקים לטקסט ניתן לחיפוש.
- חילוץ טקסט עם מסגרות זיהוי: חילוץ טקסט יחד עם מיקומו בתמונה.
- עיבוד אצווה: הפעלת OCR במהירות על מספר תמונות.
- תמיכה בריבוי פלטפורמות: עובד על Windows, macOS ו-Linux.
- קוד פתוח: חינמי לשימוש ומתוחזק על ידי הקהילה.
התקנת PyTesseract
לפני שתשתמשו ב-PyTesseract, ודאו כי Tesseract-OCR מותקן במערכת שלכם.
התקנה
התקנת PyTesseract והתלויות שלו
pip install pytesseract pillow opencv-python
התקנת Tesseract-OCR ב-Windows:
התקנת Tesseract-OCR (Windows)
# הורדת Tesseract מ:
https://github.com/UB-Mannheim/tesseract/wiki
התקנה ב-Linux:
התקנת Tesseract-OCR (Linux)
sudo apt install tesseract-ocr
דוגמאות קוד לחילוץ טקסט באמצעות PyTesseract API
דוגמה 1: חילוץ טקסט מתמונה
חילוץ טקסט מתמונה
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)
דוגמה 2: חילוץ טקסט עם מסגרות זיהוי
חילוץ טקסט עם מסגרות זיהוי
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)
דוגמה 3: חילוץ טקסט מתמונה בגווני אפור
חילוץ טקסט מתמונה בגווני אפור
import pytesseract
import cv2
image = cv2.imread("sample.png")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
text = pytesseract.image_to_string(gray)
print(text)