ไลบรารี JavaScript ฟรีสำหรับแยกข้อความจากภาพสแกนและแบบฟอร์ม
ไลบรารี JavaScript OCR แบบเปิดเผยสำหรับการแยกข้อความจากภาพสแกนสีดำ‑ขาวและเอกสารด้วยการเตรียมภาพและการสนับสนุนเทมเพลตในเว็บหรือแอป Node.js
ในโลกดิจิทัลสมัยใหม่เทคโนโลยีการจดจำอักขระด้วยแสง (OCR) มีบทบาทสำคัญในการแปลงภาพสแกน, โน้ตมือเขียน, หรือเอกสารพิมพ์ให้เป็นข้อมูลที่สามารถแก้ไขและค้นหาได้ สำหรับนักพัฒนา JavaScript ที่กำลังมองหาโซลูชันที่เบาและเปิดเผย Guten OCR นำเสนอทางเลือกที่น่าสนใจ ไลบรารี OCR ที่เขียนด้วย JavaScript นี้ออกแบบให้เรียบง่าย ทำให้เหมาะสำหรับการฝังฟีเจอร์ OCR ลงในแอปที่ทำงานบนเบราว์เซอร์หรือ Node.js มีคุณลักษณะสำคัญหลายอย่างรวมถึงการจดจำอักขระด้วยเทมเพลต, การปรับค่าธรณีและการทำไบนารี, การแยกอักขระ, การจับคู่เทมเพลตและการประกอบข้อความ, การสนับสนุนโค้ดโมดูลาร์ ฯลฯ มุ่งเน้นการจดจำข้อความพิมพ์จากเอกสารสแกนสีดำ‑ขาวและเหมาะกับข้อความที่จัดรูปแบบดี เช่น หนังสือหรือแบบฟอร์ม
Guten OCR เป็นเอนจิน OCR JavaScript แบบเปิดเผยที่สร้างโดย Gutenye แตกต่างจากเครื่องมือ OCR ขนาดใหญ่ที่ต้องพึ่งพาไลบรารีภายนอกหรือการตั้งค่าที่ซับซ้อน Guten OCR ถูกเขียนทั้งหมดด้วย JavaScript หมายความว่ามันสามารถทำงานได้ในเว็บเบราว์เซอร์หรือบนเซิร์ฟเวอร์ด้วย Node.js ไลบรารีใช้เทคนิคการประมวลผลภาพพื้นฐานเพื่อแยกอักขระและระบุโดยใช้ระบบจดจำรูปแบบอักขระ แม้ว่ามันอาจยังไม่เทียบเท่ากับเอนจิน OCR เชิงพาณิชย์อย่าง Tesseract ในด้านการสนับสนุนหลายภาษา หรือข้อความมือเขียน แต่ความเรียบง่ายและความยืดหยุ่นทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับโครงการการศึกษา, แนวคิดต้นแบบ, หรือฟีเจอร์ OCR ฝังในเว็บแอปแบบกำหนดเอง แตกต่างจาก Tesseract หรือเอนจินขนาดใหญ่อื่น ๆ Guten OCR ถูกออกแบบให้เบาและมุ่งเน้นโดยเฉพาะ ทำให้เป็นจุดเริ่มต้นที่ดีสำหรับผู้ที่ต้องการเข้าใจการทำงานของ OCR ภายใน
เริ่มต้นใช้งาน Guten OCR
วิธีที่แนะนำในการติดตั้ง Guten OCR คือการใช้ Brew. โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น
ติดตั้ง Guten OCR ผ่าน Brew
brew install git-lfs ติดตั้ง Guten OCR ผ่าน GitHub
git clone git@github.com:gutenye/ocr.git คุณยังสามารถติดตั้งด้วยตนเอง; ดาวน์โหลดไฟล์เวอร์ชันล่าสุดโดยตรงจาก GitHub ที่เก็บข้อมูล
การเตรียมภาพก่อนการดำเนินการ OCR
ไลบรารี Guten OCR แบบเปิดเผยถูกเขียนทั้งหมดด้วย JavaScript ทำให้สามารถทำงานได้ทั้งในเบราว์เซอร์และสภาพแวดล้อม Node.js มีฟังก์ชันการเตรียมภาพในตัวเพื่อเพิ่มความแม่นยำของการจดจำ รองรับการทำไบนารีของภาพ (แปลงเป็นสีดำ‑ขาว), การลดสัญญาณรบกวน, การแก้ไขการเอียงและอื่น ๆ ตัวอย่างต่อไปนี้แสดงให้เห็นว่าผู้พัฒนาสามารถใช้ขั้นตอนการเตรียมภาพหลายขั้นตอนก่อนทำการ OCR บนภาพได้อย่างไร
วิธีการใช้การเตรียมภาพก่อนการดำเนินการ OCR ด้วยไลบรารี JavaScript?
const { preprocess } = require('guten-ocr');
// Apply multiple preprocessing steps
const processedImage = preprocess(imageData, [
'grayscale', // Convert to grayscale
'binarize', // Convert to black and white
'deskew', // Correct skew
'denoise' // Reduce noise
]);
// Then perform OCR on the processed image
ocr.recognize(processedImage).then(/* ... */);
การจดจำอักขระด้วยเทมเพลต
ไลบรารี JavaScript Guten OCR มีการสนับสนุนเต็มรูปแบบสำหรับการทำ OCR ด้วยเทมเพลตภายในแอปพลิเคชัน JavaScript ใจกลางของ Guten OCR คือระบบการจับคู่เทมเพลต แทนการฝึกโมเดลแมชชีนเลิร์นนิง มันใช้รูปแบบอักขระที่กำหนดไว้ล่วงหน้า ทำให้ระบบเร็วและเข้าใจง่าย แต่ก็ทำให้ไวต่อความสอดคล้องของฟอนต์และเลย์เอาต์ เพื่อทำงานนี้ ไลบรารีจะเรนเดอร์อักขระแต่ละตัว (A–Z, a–z, 0–9 ฯลฯ) ใน canvas แล้วสร้างเมทริกซ์ไบนารีเป็นเทมเพลตอ้างอิง เมื่อวิเคราะห์ภาพ ไลบรารีจะเปรียบเทียบส่วนของภาพกับเทมเพลตเหล่านี้เพื่อหาการจับคู่ที่ดีที่สุด โดยใช้การสแกนแนวตั้งและแนวนอนเพื่อค้นหากล่องขอบเขต
การแยกอักขระด้วยไลบรารี OCR
ไลบรารี JavaScript แบบเปิดเผย Guten OCR ทำให้ผู้พัฒนาซอฟต์แวร์สามารถทำการแยกอักขระได้อย่างง่ายดาย เมื่อภาพถูกทำไบนารี ขั้นตอนต่อไปคือการแยกอักขระแต่ละตัว Guten OCR สแกนแถวและคอลัมน์เพื่อค้นหาโซนที่มีพิกเซลสีดำหนาแน่น แยกออกเป็นอักขระที่เป็นไปได้ ตัวอย่างต่อไปนี้แสดงให้เห็นว่าผู้พัฒนาสามารถทำการแยกอักขระโดยใช้ไลบรารี OCR JavaScript อย่างไร
วิธีการทำการแยกอักขระโดยใช้ไลบรารี JavaScript?
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]