ספריית 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 repository.
עיבוד מקדים של תמונה לפני פעולות 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, וכו') בקנבס, והמערך הבינארי של כל תו משמש כתבנית התייחסות. כאשר הספרייה מנתחת תמונה, היא משווה קטעי תמונה לתבניות אלו כדי למצוא את ההתאמה הטובה ביותר. היא עושה זאת באמצעות שילוב של סריקה אנכית ואופקית של קווים לאיתור תיבות גבול.
חלוקת תווים באמצעות ספריית OCR
ספריית JavaScript בקוד פתוח Guten OCR מאפשרת למפתחים לבצע חלוקת תווים בקלות. לאחר שהתמונה עוברת בינריזציה, הצעד הבא הוא לחלק את התווים הבודדים. Guten OCR סורקת שורות ועמודות כדי לזהות אזורים עם פיקסלים שחורים מרוכזים, ומפרידה אותם לתווים פוטנציאליים. הדוגמה הבאה מדגימה כיצד מפתחים יכולים לבצע חלוקת תווים באמצעות ספריית JavaScript OCR.
איך לבצע חלוקת תווים באמצעות ספריית JavaScript?
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]