Δωρεάν βιβλιοθήκη JavaScript για Ανάλυση κειμένου από σαρωμένες εικόνες & φόρμες

Ανοιχτής Πηγής βιβλιοθήκη JavaScript για Οπτική Αναγνώριση Χαρακτήρων (OCR) που αναλύει κείμενο από ασπρόμαυρες σαρωμένες εικόνες & έγγραφα με προεπεξεργασία εικόνας & υποστήριξη προτύπων σε εφαρμογές Web ή Node.js.

Στον σύγχρονο ψηφιακό κόσμο, η τεχνολογία αναγνώρισης οπτικών χαρακτήρων (OCR) παίζει κρίσιμο ρόλο στη μετατροπή σαρωμένων εικόνων, χειρόγραφων σημειώσεων ή εκτυπωμένων εγγράφων σε επεξεργάσιμα και αναζητήσιμα δεδομένα. Για προγραμματιστές JavaScript που αναζητούν μια ελαφριά και ανοιχτού κώδικα λύση, το Guten OCR προσφέρει μια ελκυστική επιλογή. Αυτός ο μηχανισμός OCR βασισμένος σε JavaScript έχει σχεδιαστεί με έμφαση στην απλότητα, καθιστώντας τον ιδανικό για ενσωμάτωση λειτουργιών OCR απευθείας σε εφαρμογές βασισμένες σε πρόγραμμα περιήγησης ή Node.js. Υπάρχουν αρκετά σημαντικά χαρακτηριστικά της βιβλιοθήκης, όπως η αναγνώριση χαρακτήρων μέσω προτύπων, η ρύθμιση κατωφλίου εικόνας και η δυαδικοποίηση, ο διαχωρισμός χαρακτήρων, η αντιστοίχιση προτύπων και η συναρμολόγηση κειμένου, η υποστήριξη μοντέλου κώδικα και άλλα. Επικεντρώνεται στην αναγνώριση τυπωμένου κειμένου από ασπρόμαυρα σαρωμένα έγγραφα και είναι πιο κατάλληλο για καλά μορφοποιημένο κείμενο, όπως βιβλία ή φόρμες.

Το Guten OCR είναι μια ανοιχτού κώδικα μηχανή OCR JavaScript που δημιουργήθηκε από την Gutenye. Σε αντίθεση με τα βαριά εργαλεία OCR που απαιτούν εξωτερικές εξαρτήσεις ή εκτεταμένη ρύθμιση, το Guten OCR είναι γραμμένο εξ ολοκλήρου σε JavaScript, πράγμα που σημαίνει ότι μπορεί να εκτελείται σε έναν web browser ή στον διακομιστή με Node.js. Η βιβλιοθήκη χρησιμοποιεί βασικές τεχνικές επεξεργασίας εικόνας για να διαχωρίζει χαρακτήρες και να τους αναγνωρίζει χρησιμοποιώντας σύστημα αναγνώρισης προτύπων χαρακτήρων. Αν και ενδέχεται να μην ανταγωνίζεται ακόμη τις εμπορικές μηχανές OCR όπως το Tesseract όσον αφορά την υποστήριξη πολυγλωσσικού ή χειρόγραφου κειμένου, η απλότητά της και η δυνατότητα τροποποίησης την καθιστούν εξαιρετική επιλογή για εκπαιδευτικά έργα, αποδείξεις εννοιών ή ενσωματωμένες λειτουργίες OCR σε προσαρμοσμένες web εφαρμογές. Σε αντίθεση με το Tesseract ή άλλες μεγαλύτερες μηχανές, το Guten OCR είναι σκόπιμα ελαφρύ και εστιασμένο — καθιστώντας το ένα εξαιρετικό σημείο εκκίνησης για όσους θέλουν να καταλάβουν πώς λειτουργεί το OCR από τα βάθη του.

Previous Next

Ξεκινώντας με το 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, κ.λπ.) σε ένα καμβά και στη συνέχεια το δυαδικό πλέγμα για κάθε χαρακτήρα γίνεται ένα πρότυπο αναφοράς. Κατά την ανάλυση μιας εικόνας, η βιβλιοθήκη συγκρίνει τα τμήματα της εικόνας με αυτά τα πρότυπα για να βρει την καλύτερη αντιστοίχιση. Το κάνει αυτό χρησιμοποιώντας έναν συνδυασμό κάθετης και οριζόντιας σάρωσης γραμμών για τον εντοπισμό των περιοριστικών πλαισίων.

Τμηματοποίηση Χαρακτήρων μέσω της Βιβλιοθήκης OCR

Η ανοιχτού κώδικα βιβλιοθήκη JavaScript Guten OCR επιτρέπει στους προγραμματιστές λογισμικού να εκτελούν διαχωρισμό χαρακτήρων με ευκολία. Μonce η εικόνα είναι δυαδική, το επόμενο βήμα είναι ο διαχωρισμός των μεμονωμένων χαρακτήρων. Το Guten OCR σαρώει γραμμές και στήλες για να εντοπίσει περιοχές με πυκνά μαύρα pixel, διαχωρίζοντάς τες σε πιθανούς χαρακτήρες. Το παρακάτω παράδειγμα δείχνει πώς οι προγραμματιστές λογισμικού μπορούν να εκτελέσουν διαχωρισμό χαρακτήρων χρησιμοποιώντας τη βιβλιοθήκη OCR JavaScript.

Πώς να εκτελέσετε διαχωρισμό χαρακτήρων χρησιμοποιώντας βιβλιοθήκη JavaScript;

const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]
 Ελληνικά