ไลบรารี Python แบบโอเพนซอร์สสำหรับการดึงข้อความจากรูปภาพ
ใช้ PyTesseract OCR เพื่อดึงข้อความที่พิมพ์หรือเขียนด้วยลายมือจากรูปภาพได้อย่างง่ายดาย
PyTesseract API สำหรับ Python คืออะไร?
PyTesseract เป็น Python wrapper สำหรับ Tesseract-OCR ซึ่งเป็นเครื่องมือโอเพนซอร์สที่ทรงพลังสำหรับการดึงข้อความจากรูปภาพ ช่วยให้นักพัฒนาสามารถแปลงเอกสารที่สแกน ข้อความที่เขียนด้วยลายมือ และข้อความในรูปภาพเป็นรูปแบบที่เครื่องอ่านได้อย่างง่ายดาย PyTesseract ถูกใช้งานอย่างแพร่หลายในด้านระบบอัตโนมัติ การดึงข้อมูล การแปลงเอกสารเป็นดิจิทัล และแอปพลิเคชัน AI ที่ต้องการการรู้จำอักขระด้วยแสง (OCR)
ไลบรารีนี้มีประโยชน์อย่างมากสำหรับการทำให้งานป้อนข้อมูลเป็นอัตโนมัติ การรู้จำข้อความจากภาพหน้าจอ และการแปลงเอกสารที่พิมพ์เป็นดิจิทัล ด้วยการรองรับหลายภาษาและเทคนิคการประมวลผลภาพขั้นสูง PyTesseract เป็นโซลูชันที่มีประสิทธิภาพและยืดหยุ่นสำหรับการดึงข้อความจากรูปภาพ
คุณสมบัติหลักของ PyTesseract API
- แปลงรูปภาพเป็นข้อความ: ดึงข้อความที่พิมพ์หรือเขียนด้วยลายมือจากรูปภาพโดยใช้ OCR
- รองรับหลายภาษา: รองรับมากกว่า 100 ภาษาผ่านโมเดล OCR ของ Tesseract
- รองรับการประมวลผลภาพล่วงหน้า: ใช้งานร่วมกับ 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)