OCR

Instalarea Tesseract OCR în Linux

Instalarea Tesseract OCR în Linux
Tesseract OCR (Recunoaștere Optică a Caracterelor) este un motor gratuit și open-source și un program de linie de comandă pentru extragerea textului din imagini folosind tehnologia de recunoaștere optică a caracterelor și algoritmi. Proiectul este susținut de Google și, începând de astăzi, este considerat a fi cel mai bun motor OCR open source disponibil. Poate detecta și extrage text în numeroase limbi cu o precizie ridicată.

Instalarea Tesseract OCR în Linux

Tesseract OCR este disponibil în mod implicit pe majoritatea distribuțiilor Linux. Puteți să-l instalați în Ubuntu folosind comanda de mai jos:

$ sudo apt install tesseract-ocr

Sunt disponibile instrucțiuni detaliate pentru alte distribuții Aici. Chiar dacă Tesseract OCR este disponibil în mod implicit în depozitele multor distribuții Linux, este recomandat să instalați cea mai recentă versiune de pe linkul menționat mai sus pentru o precizie și o analiză îmbunătățite.

Instalarea asistenței pentru limbi suplimentare în Tesseract OCR

Tesseract OCR include suport pentru detectarea textului în peste 100 de limbi. Cu toate acestea, obțineți asistență numai pentru detectarea textului în limba engleză cu instalarea implicită în Ubuntu. Pentru a adăuga suport pentru analizarea limbilor suplimentare în Ubuntu, rulați o comandă în următorul format:

$ sudo apt install tesseract-ocr-hin

Comanda de mai sus va adăuga suport pentru limba hindi la Tesseract OCR. Uneori puteți obține o acuratețe și rezultate mai bune instalând suport pentru scripturi de limbă. De exemplu, instalarea și utilizarea pachetului tesseract pentru scriptul Devanagari „tesseract-ocr-script-deva” mi-a oferit rezultate mult mai precise decât utilizarea pachetului „tesseract-ocr-hin”.

În Ubuntu, puteți găsi nume de pachete corecte pentru toate limbile și scripturile executând comanda de mai jos:

$ apt-cache căutare tesseract-

După ce ați identificat numele corect al pachetului de instalat, înlocuiți șirul „tesseract-ocr-hin” cu acesta în prima comandă specificată mai sus.

Utilizarea Tesseract OCR pentru a extrage text din imagini

Să luăm un exemplu de imagine prezentată mai jos (preluată de pe pagina Wikipedia pentru Linux):

Pentru a extrage text din imaginea de mai sus, trebuie să executați o comandă în următorul format:

$ tesseract capture.png output -l eng

Rularea comenzii de mai sus oferă următoarea ieșire:

În comanda de mai sus, „capture.png ”se referă la imaginea din care doriți să extrageți textul. Ieșirea capturată este apoi stocată în „ieșire.txt ”. Puteți schimba limba înlocuind argumentul „eng” cu propria alegere. Pentru a vedea toate limbile valide, rulați comanda de mai jos:

$ tesseract --list-langs

Acesta va afișa coduri de abrevieri pentru toate limbile acceptate de Tesseract OCR pe sistemul dvs. În mod implicit, va afișa „eng” doar ca ieșire. Cu toate acestea, dacă instalați pachete pentru limbi suplimentare așa cum s-a explicat mai sus, această comandă va lista mai multe limbi pe care le puteți utiliza pentru a detecta textul (ca coduri de limbă ISO 639 cu 3 litere).

Dacă imaginea conține text în mai multe limbi, definiți mai întâi limba primară urmată de limbi suplimentare separate prin semne plus.

$ tesseract capture.png output -l eng + fra

Dacă doriți să stocați rezultatul ca fișier PDF care poate fi căutat, rulați o comandă în următorul format:

$ tesseract capture.png output -l eng pdf

Rețineți că fișierul PDF care poate fi căutat nu va conține text modificabil. Acesta include imaginea originală, cu un strat suplimentar care conține textul recunoscut suprapus pe imagine. Deci, deși veți putea căuta cu precizie textul în fișierul PDF utilizând orice cititor PDF, nu veți putea edita textul.

Un alt punct pe care trebuie să-l rețineți este că acuratețea detectării textului crește foarte mult dacă fișierul imagine este de înaltă calitate. Având posibilitatea de a alege, utilizați întotdeauna formate de fișiere fără pierderi sau fișiere PNG. Este posibil ca utilizarea fișierelor JPG să nu dea cele mai bune rezultate.

Extragerea textului dintr-un fișier PDF cu mai multe pagini

Tesseract OCR nu acceptă în mod nativ extragerea textului din fișiere PDF. Cu toate acestea, este posibil să extrageți text dintr-un fișier PDF cu mai multe pagini prin conversia fiecărei pagini într-un fișier imagine. Rulați comanda de mai jos pentru a converti un fișier PDF într-un set de imagini:

Fișierul $ pdftoppm -png.ieșire pdf

Pentru fiecare pagină a fișierului PDF, veți obține o „ieșire-1” corespunzătoare.png ”,„ output-2.png ”și așa mai departe.

Acum, pentru a extrage text din aceste imagini folosind o singură comandă, va trebui să utilizați o „buclă pentru” într-o comandă bash:

$ pentru i în *.png; do tesseract "$ i" "output- $ i" -l eng; Terminat;

Rularea comenzii de mai sus va extrage text din toate „.png ”găsite în directorul de lucru și stochează textul recunoscut în„ output-original_filename.txt ”. Puteți modifica partea de mijloc a comenzii în funcție de nevoile dvs.

Dacă doriți să combinați toate fișierele text care conțin textul recunoscut, rulați comanda de mai jos:

$ pisică *.txt> alăturat.txt

Procesul de extragere a textului dintr-un fișier PDF cu mai multe pagini în fișiere PDF care pot fi căutate este aproape același. Trebuie să furnizați un argument suplimentar „pdf” comenzii:

$ pentru i în *.png; do tesseract "$ i" "output- $ i" -l eng pdf; Terminat;

Dacă doriți să combinați toate fișierele PDF care pot fi căutate care conțin textul recunoscut, rulați comanda de mai jos:

$ pdfunite *.pdf s-a alăturat.pdf

Atât „pdftoppm”, cât și „pdfunite” sunt instalate în mod implicit pe ultima versiune stabilă de Ubuntu.

Avantajele și dezavantajele extragerii textului în fișiere TXT și PDF

Dacă extrageți text recunoscut în fișiere TXT, veți obține un text editabil. Cu toate acestea, orice formatare a documentului va fi pierdută (caractere aldine, cursive și așa mai departe). Fișierele PDF care pot fi căutate vor păstra formatarea originală, dar veți pierde capacitățile de editare a textului (puteți totuși copia textul brut). Dacă deschideți fișierul PDF care poate fi căutat în orice editor PDF, veți obține imagini încorporate în fișier și nu ieșire text brut. Conversia fișierelor PDF care pot fi căutate în HTML sau EPUB vă va oferi, de asemenea, imagini încorporate.

Concluzie

Tesseract OCR este unul dintre cele mai utilizate motoare OCR de astăzi. Este un program open-source gratuit și acceptă peste o sută de limbi. Când utilizați Tesseract OCR, asigurați-vă că utilizați imagini de înaltă rezoluție și corectați codurile de limbă în argumentele din linia de comandă pentru a îmbunătăți acuratețea detectării textului.

Top 10 jocuri de jucat pe Ubuntu
Platforma Windows a fost una dintre platformele dominante pentru jocuri din cauza procentului imens de jocuri care se dezvoltă astăzi pentru a sprijin...
Cele mai bune 5 jocuri arcade pentru Linux
În zilele noastre, computerele sunt mașini serioase folosite pentru jocuri. Dacă nu puteți obține noul scor mare, veți ști la ce mă refer. În această ...
Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...