Tesseract OCR คือ อะไร ??

--

https://github.com/tesseract-ocr/tesseract

Tesseract OCR คือ API ที่ developed by Google (Since 2006) ซึ่งใช้สำหรับทำ OCR
OCR = Optical Character Recognition คือ open source OCR Engine ที่ใช้แปลง Image ให้เป็น Text เพื่อนำไป apply ใช้กับงานต่างๆเช่น ตรวจเช็คป้ายทะเบียนรถเข้าออกอาคาร, เช็คข้อมูลใน passport, digitizing invoices (menus, ID cards)เป็นต้น

จริงๆเทคโนโลยีนี้ไม่ได้มีเพียง Google เท่านั้นนะคับ ยังมีอีกหลายๆเจ้าเลย แต่ article จะพาทำเฉพาะ Tesseract OCR เท่านั้น

https://nanonets.com/blog/ocr-with-tesseract/

เอาล่ะ เริ่มต้นติดตั้งกันเลยคับ

  1. ติดตั้ง Tesseract : (เลือก environment สำหรับ Python ให้เรียบร้อยก่อนนะคับ เช่น ใช้ conda หรือ virtualenv เป็นต้น และ activate เข้าไปให้เรียบร้อย)
$ pip install pytesseract หรือ brew install tesseract

ติดตั้งภาษาเพิ่มเติม

brew install tesseract-lang

เมื่อติดตั้งแล้ว เราสามารถเช็ค version Tesseract และ เช็คภาษาที่รองรับได้ด้วยคำสั่ง

tesseract --versiontesseract --list-langs

2. ติดตั้ง pytesseract เพื่อให้ Python สามารถเรียกใช้ Tesseract OCR ได้

$ pip install pytesseract

3. ทดลองใช้งาน โดยจะทำการแปลง eng ก่อน

ภาพที่จะให้ OCR ช่วยแปลงออกมา
ผลลัพท์จากการเรียกใช้งาน pytesseract
ภาพภาษาไทยบ้าง ที่จะให้ OCR ช่วยแปลงออกมา
ผลลัพท์จากการแปลงภาพเป็นภาษาไทย
ทดลองใช้ image_to_boxes
ทดลองอ่าน passport บ้าง
อ่านค่าจาก passport ด้านบน

ถัดไป เราจะลองมาทดสอบ output ของ Tesseract จาก Invoice ด้านล่างนี้

ต้นฉบับ invoice ที่เราจะลองมาเทสด้วย Tesseract กัน
ทดสอบ output โดยครอบด้วย boxes

ถัดไป เราสามารถประยุกต์ใช้ RegEx เพื่อให้จับเฉพาะ pattern ที่เราต้องการเท่านั้น เช่น ในภาพด้านล่างเป็น Invoice เราต้องการให้จับภาพเฉพาะในส่วน Invoice Date เท่านั้นโดยให้ทำกรอบเขียวครอบไว้

สามารถเลือกตรวจเช็คให้ตรงกับ pattern ที่เราเขียนไว้ได้

จบเท่านี้ก่อนคับ แล้วพบกันใหม่คับ

Ref: https://nanonets.com/blog/ocr-with-tesseract/

--

--