OCR ελληνικών (και όχι μόνο) χαρακτήρων στο linux

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

OCR ελληνικών (και όχι μόνο) χαρακτήρων στο linux

Δημοσίευσηαπό the_eye » 31 Ιαν 2011, 02:49

Η ελληνική υποστήριξη 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 Ελλάδα
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: OCR ελληνικών (και όχι μόνο) χαρακτήρων στο linux

Δημοσίευσηαπό ftso » 31 Ιαν 2011, 03:42

nice :thumbup:
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: OCR ελληνικών (και όχι μόνο) χαρακτήρων στο linux

Δημοσίευσηαπό ecatodarcus » 31 Ιαν 2011, 04:11

Μπράβo the_eye!!!
εγώ είχα απεγκαταστήσει το OCRfeeder, μετά κατέβασα τα deb πακέτα, τα έκανα εγκατάσταση, έκανα πάλι εγκατάσταση τον OCRfeeder με τις ρυθμίσεις που υπέδειξες αλλά δεν διαβάζει καθόλου το κείμενο.Εικόνα

Uploaded with ImageShack.us
ορίστε και το screenshot. όση ώρα και να το αφήσω δεν κάνει κάτι. ακόμα και αν πατήσω το πάνω κουμπάκι και από image το κάνω text δεν κάνει κάτι. και φόρτωσα τόσο tif όσο και jpg.
τι μπορεί να έκανα λάθος?
ευχαριστώ
Τελευταία επεξεργασία από ecatodarcus και 31 Ιαν 2011, 04:18, έχει επεξεργασθεί 3 φορά/ες συνολικά
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Λίγο (fortran, html,css) ┃ Αγγλικά: Αρκετά καλά (Advance) ┃ Γερμανικά: Λίγα (B1)
1)Ubuntu 11.10 i386
Προδιαγραφές: Laptop Acer Aspire 5742Z-4629 ⇛ Intel Pentium P6100@2.00Ghz│RAM 2.7 DDR3 SDRAM - 1066 MHz │Intel HD Graphics Dynamic Video Memory Technology 5.0
Άβαταρ μέλους
ecatodarcus
punkTUX
punkTUX
 
Δημοσιεύσεις: 198
Εγγραφή: 06 Μάιος 2009, 14:48
Εκτύπωση

Re: OCR ελληνικών (και όχι μόνο) χαρακτήρων στο linux

Δημοσίευσηαπό the_eye » 31 Ιαν 2011, 04:14

Δοκίμασε από κονσόλα
Κώδικας: Επιλογή όλων
tesseract eikona.tif text -l ell

αν σου βγάλει κάτι γράψτο εδώ.
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: OCR ελληνικών (και όχι μόνο) χαρακτήρων στο linux

Δημοσίευσηαπό ecatodarcus » 31 Ιαν 2011, 04:16

Κώδικας: Επιλογή όλων
tesseract: error while loading shared libraries: liblept.so.0: cannot open shared object file: No such file or directory


αυτό έβγαλε. είναι βιβλιοθήκη που πρέπει να εγκαταστήσω?
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Λίγο (fortran, html,css) ┃ Αγγλικά: Αρκετά καλά (Advance) ┃ Γερμανικά: Λίγα (B1)
1)Ubuntu 11.10 i386
Προδιαγραφές: Laptop Acer Aspire 5742Z-4629 ⇛ Intel Pentium P6100@2.00Ghz│RAM 2.7 DDR3 SDRAM - 1066 MHz │Intel HD Graphics Dynamic Video Memory Technology 5.0
Άβαταρ μέλους
ecatodarcus
punkTUX
punkTUX
 
Δημοσιεύσεις: 198
Εγγραφή: 06 Μάιος 2009, 14:48
Εκτύπωση

Re: OCR ελληνικών (και όχι μόνο) χαρακτήρων στο linux

Δημοσίευσηαπό the_eye » 31 Ιαν 2011, 04:21

Για κάνε
Κώδικας: Επιλογή όλων
sudo apt-get install libleptonica

και ξαναδοκίμασε στο τερματικό
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: OCR ελληνικών (και όχι μόνο) χαρακτήρων στο linux

Δημοσίευσηαπό ecatodarcus » 31 Ιαν 2011, 04:29

Κώδικας: Επιλογή όλων
tesseract: error while loading shared libraries: liblept.so.0: cannot open shared object file: No such file or directory

πάλι το ίδιο έβγαλε.
την βιβλιοθήκη την είχε ήδη εγκατεστημένη.
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Λίγο (fortran, html,css) ┃ Αγγλικά: Αρκετά καλά (Advance) ┃ Γερμανικά: Λίγα (B1)
1)Ubuntu 11.10 i386
Προδιαγραφές: Laptop Acer Aspire 5742Z-4629 ⇛ Intel Pentium P6100@2.00Ghz│RAM 2.7 DDR3 SDRAM - 1066 MHz │Intel HD Graphics Dynamic Video Memory Technology 5.0
Άβαταρ μέλους
ecatodarcus
punkTUX
punkTUX
 
Δημοσιεύσεις: 198
Εγγραφή: 06 Μάιος 2009, 14:48
Εκτύπωση

Re: OCR ελληνικών (και όχι μόνο) χαρακτήρων στο linux

Δημοσίευσηαπό the_eye » 31 Ιαν 2011, 04:45

Τότε τρέξτε
Κώδικας: Επιλογή όλων
cd /usr/lib/
sudo ln -s liblept.so.1 liblept.so.0
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: OCR ελληνικών (και όχι μόνο) χαρακτήρων στο linux

Δημοσίευσηαπό ecatodarcus » 31 Ιαν 2011, 05:05

σωστός!!!τώρα λειτουργει. όπως είπες κάνει αρκετά λαθάκια αλλα είναι η πρώτη προσπάθεια!!!

2 ερωτήσεις:
1)αν θέλω να βάλω και τα αγγλικά μέσα στις γλώσσες κατεβάζω το πακέτο, το κάνω install και μετά προσθέτω άλλη μια φορά την tesseract αλλα αυτή τη φορά με την αγγλική γλώσσα οπότε όταν θα φορτώνω την εικόνα μου θα του λέω και με ποιά από τις 2 θα το διαβάσει?
2)η τελευταία εντολή τi έκανε? αν κατάλαβα καλά είτε καλέσει το μια βιβλιοθήκη το πρόγραμμα είτε την άλλη θα χρησιμοποιηθούν και οι 2?
και πάλι σε ευχαριστώ
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Λίγο (fortran, html,css) ┃ Αγγλικά: Αρκετά καλά (Advance) ┃ Γερμανικά: Λίγα (B1)
1)Ubuntu 11.10 i386
Προδιαγραφές: Laptop Acer Aspire 5742Z-4629 ⇛ Intel Pentium P6100@2.00Ghz│RAM 2.7 DDR3 SDRAM - 1066 MHz │Intel HD Graphics Dynamic Video Memory Technology 5.0
Άβαταρ μέλους
ecatodarcus
punkTUX
punkTUX
 
Δημοσιεύσεις: 198
Εγγραφή: 06 Μάιος 2009, 14:48
Εκτύπωση

Re: OCR ελληνικών (και όχι μόνο) χαρακτήρων στο linux

Δημοσίευσηαπό the_eye » 31 Ιαν 2011, 05:09

1) Για αγγλικά την παράμετρο θα την κάνεις -l eng
2) Ζητούσε μια ποιο παλιά έκδοση της βιβλιοθήκης. Εμείς κάναμε μια συντόμευση με το όνομα της παλιάς να οδηγεί στην καινούρια.

Για καλή ποιότητα αναγνώρισης να scanάρεις στα 300dpi

Ενημέρωσα και τον οδηγό έτσι ώστε να καλύπτει και αυτό το πρόβλημα.
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Επόμενο

  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Οδηγοί - How to - Tutorials