Δημοσιεύτηκε: 31 Ιαν 2011, 02:49
από the_eye
Η ελληνική υποστήριξη OCR στο linux υλοποιείτε εύκολα με την μηχανή OCR tesseract 3 που έχει έτοιμη βιβλιοθήκη ελληνικών αλλά έχει και μηχανή εκμάθησης χαρακτήρων.
Ακόμα μαζί με τα ελληνικά μπορούμε να εγκαταστήσουμε και άλλες γλώσσες όπως γαλλικά, γερμανικά, ρώσικα κτλ
Σαν γραφικό περιβάλλων θα χρησιμοποιήσουμε την εφαρμογή που υπάρχει στο κέντρο λογισμικού OCRFeeder

Την διαφορά για την υποστήριξη των ελληνικών την κάνει το tesseract στην έκδοση 3.

Στο Ubuntu 12.04 υπάρχει στα αποθετήρια μαζί και τα αρχεία αναγνώρισης γλώσας, οπότε εγκαθιστούμε :
OCRFeeder, tesseract, αρχεία γλώσσας (πχ tesseract-ocr-ell)

Για να έχουμε καλά αποτελέσματα πρέπει τα σαρωμένα κείμενα να είναι σε 300dpi και να έχουν καλό κοντράστ.

Αν σας βγάζει αρκετά λάθη να είστε επιεικής είναι το πρώτο βήμα OCR ελληνικών σε linux. Ακόμα στην σελίδα του project υπάρχει και ειδικό πρόγραμμα για "εκπαίδευση" του OCR για καλύτερη αναγνώριση.
http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract3

Στο πρόγραμμα OCRFeeder πάμε Εργαλεία -> Μηχανές OCR


Πατάμε Tesseract, Επεξεργασία


Αλλάζουμε την εντολή
Κώδικας: Επιλογή όλων
$IMAGE $FILE  > /dev/null 2> /dev/null; cat $FILE.txt; rm $FILE $FILE.txt

σε
Κώδικας: Επιλογή όλων
$IMAGE $FILE -l ell  > /dev/null 2> /dev/null; cat $FILE.txt; rm $FILE $FILE.txt

Αν θέλουμε άλλη γλώσσα βάζουμε το αντίστοιχο πρόθεμα πχ -l rus (είναι L μικρό όχι ένα)

Αν θέλουμε να αναγνωρίσει ένα κείμενο με 2 ή περισσότερες γλώσσες βάζουμε
Κώδικας: Επιλογή όλων
$IMAGE $FILE -l ell+eng  > /dev/null 2> /dev/null; cat $FILE.txt; rm $FILE $FILE.txt

Υπάρχει η πιθανότητα να αυξηθούν τα σφάλματα αναγνώρισης με αυτή την επιλογή :!:

Και είμαστε έτοιμοι !


Για εκπαίδευση του προγράμματος σε μια νέα γλώσσα ή σε πολυτονικό δείτε εδώ
http://code.google.com/p/tesseract-ocr/ ... Tesseract3


Παλαιό κείμενο οδηγού
Spoiler: show
Αν το έχετε εγκατεστημένο στο ubuntu 10.10 θα πρέπει να το απεγκαταστήσετε διότι είναι η έκδοση 2.

Για να έχουμε ελληνικό OCR πρέπει να εγκαταστήσουμε το (Α) tesseract 3 και την ελληνική βιβλιοθήκη. Μετά πρέπει να κάνουμε μια ρύθμιση (Β) στο OCRFeeder και είμαστε έτοιμοι.


(Α)
Εγκαθιστούμε κάποιες βιβλιοθήκες που είναι απαραίτητες.
Κώδικας: Επιλογή όλων
sudo apt-get install libleptonica


Η εγκατάσταση του tesseract 3 μπορεί να γίνει με 3 τρόπους.

1ος Τρόπος. Κατεβάζοντας τον πηγαίο κώδικα και μεταγλωττίζοντάς τον.


Κατεβάζουμε το tesseract-3.00.tar.gz από εδώ http://code.google.com/p/tesseract-ocr/downloads/list

Το αποσυμπιέζουμε και τρέχουμε μέσα στον φάκελό του.
Κώδικας: Επιλογή όλων
./configure
make
sudo make install


Το make θα τρέξει αρκετή ώρα.

Κατόπιν κατεβάζουμε και αποσυμπιέζουμε το αρχείο με τα ελληνικά ή οποια άλλη γλώσσα θέλουμε
http://tesseract-ocr.googlecode.com/files/ell.traineddata.gz
στον φάκελο
Κώδικας: Επιλογή όλων
/usr/local/share/tessdata


2ος Τρόπος. Μπορούμε να κατεβάσουμε έτοιμα πακέτα deb από εδώ

32Bit
https://launchpad.net/~alex-p/+archive/ ... ob/2147258
64Bit
https://launchpad.net/~alex-p/+archive/ ... ob/2423806

Θέλουμε τα (για ubuntu 10.10)
https://launchpad.net/~alex-p/+archive/notesalexp/+buildjob/2147258/+files/tesseract-ocr_3.0.0%2Bsvn550-1ppa1%7Emaverick1_i386.deb
και το
https://launchpad.net/~alex-p/+archive/notesalexp/+buildjob/2147258/+files/tesseract-ocr-ell_3.0.0%2Bsvn550-1ppa1%7Emaverick1_all.deb
για τα ελληνικά.
Αν θέλουμε και άλλες γλώσσες κατεβάζουμε τα αντίστοιχα πακέτα.

(για 11.10)
https://launchpad.net/~alex-p/+archive/ ... 1_i386.deb
https://launchpad.net/~alex-p/+archive/ ... c1_all.deb


3ος Τρόπος. Μπορούμε να προσθέσουμε το αποθετήριο ppa όπου θα μας δώσει στο κέντρο λογισμικού τα νέα πακέτα του tesseract. Αυτή η μέθοδο δεν προτείνετε γιατί θα μας δώσει πολλά νέα πακέτα για πολλά προγράμματα τα οποία μπορεί να μην είναι σταθερά.

Κώδικας: Επιλογή όλων
sudo add-apt-repository ppa:alex-p/notesalexp
sudo apt-get update
sudo apt-get upgrade

Μετά μπορούμε από το Synaptic να προσθέσουμε το tesseract 3 και τα γλωσσικά πακέτα.





Αν μας βγάλει κάποιο error ή δεν βγάλει καθόλου κείμενο τρέχουμε σε τερματικό
Κώδικας: Επιλογή όλων
tesseract eikona.tif text -l ell


Αν βγάλει :
1. libtiff.so.3: cannot open shared object file: No such file or directory
Τότε τρέξτε
cd /usr/lib/
sudo ln -s libtiff.so.4 libtiff.so.3

2. tesseract: error while loading shared libraries: liblept.so.0: cannot open shared object file: No such file or directory
Τότε τρέξτε
cd /usr/lib/
sudo ln -s liblept.so.1 liblept.so.0


Creative Commons License
Η εργασία υπάγεται στην άδεια Creative Commons Αναφορά-Μη εμπορική χρήση-Παρόμοια διανομή 3.0 Ελλάδα