Ketahui cara mengenali teks dalam gambar dengan betul dengan tesseract dan ocrfeeder.

Ramai di antara anda mesti mengetahui program pengecaman watak optik (OCR), jika ya, anda telah menemui beberapa yang tidak mengenali watak khas bahasa Sepanyol seperti eñe, tílde antara lain (ñ, ó, ü).

Sekarang terima kasih kepada tesseract dan ke pakej tesseract-ocr-eng Kita akan dapat mengenali watak-watak ini dan kita akan melihat bagaimana memperlakukan gambar tertentu di mana tahap warna atau pikselnya tidak betul.

Mula-mula kita mesti memasang program berikut:

tesseract-ocr
tesseract-ocr-eng
ocrfeeder

Dalam Debian, saya menasihatkan anda memasangnya tanpa memasang perisian yang disyorkan:

sudo apt-get --no-install-recommends install ocrfeeder tesseract-ocr-spa tesseract-ocr

Sekiranya kita memiliki gambar (dokumen yang dipindai) di mana surat itu dapat dibaca, mungkin untuk mengenali teks dalam sekitar 90% kes, tabel tidak akan dikenali, jika gambar tersebut memiliki 2 lajur, secara automatik akan mengenali lajur pertama dan kemudian yang lain untuk menjaga susunan teks.

Terdapat 2 cara untuk mengenali teks, satu melalui baris perintah di terminal atau melalui ocrfeeder, yang terakhir memerlukan lebih banyak masa pemprosesan:

Kaedah baris arahan:

tesseract "/entrada/fichero.jpg" "/salida/fichero.txt" -l spa -psm 3

Untuk penukaran beberapa gambar, kami akan menggunakan arahan berikut:

cd /carpeta/imagenes
find ./ -name "*.jpg" | sort | while read file; do tesseract "$file" "`basename "$file" | sed 's/\.[[:alnum:]]*$//'`.txt" -l spa -psm 3; done

Untuk bergabung dengan file teks yang dihasilkan dalam folder tersebut, kami akan menggunakan perintah berikut yang mana paragrafnya akan digabungkan dengan betul.

cd /carpeta/imagenes
find ./ -name "*.txt" | sort | while read file; do cat "$file" | sed 's|^$|##|g' | tr '\n' " " | tr '##' "\n" >> Texto-unido.txt; done

Kaedah dengan ocrfeeder:
1- Kami membuka program ocrfeeder.
2- Kami mengedit mesin dengan mengklik Tools - OCR Engines, kami memilih mesin esseract dan klik pada edit, dan di mana ia mengatakan argumen enjin, kami mengubah skrip untuk yang ini:

$IMAGE $FILE -l spa -psm 3 > /dev/null 2> /dev/null; cat $FILE.txt; rm $FILE $FILE.txt

3- Kami mengimport gambar atau folder di mana terdapat beberapa gambar.
4- Kami mengklik pada dokumen pengenalan, setelah dokumen tersebut dikenal pasti, anda boleh memilih bahagian mana yang akan menjadi gambar atau teks secara manual.
5- Sebelum mengeksport dokumen kita mengklik halaman Edit - Edit, kita memilih halaman yang diinginkan, yang paling umum adalah huruf.
6- Untuk mengeksport dokumen kita klik pada File - Export, kita memilih format output yang diinginkan, jika dokumen tersebut mempunyai gambar, saya menasihati anda untuk menggunakan format odt atau html, jika hanya teks, lebih baik menggunakan Teks Biasa ( txt) format.

Ini tidak berakhir di sini kerana terdapat banyak fotokopi yang kualitinya tidak mencukupi, untuk membaikinya kami akan menggunakan gimp dan penapis timbul (Proses ini boleh lambat):
1- Kami membuka gambar dengan gimp.
2- Kami mengklik pada Filter - Distortions - Embossing, kami memilih kotak peta bump, kami menyesuaikan tahap azimuth menjadi sekitar 162,25, ketinggian hingga 88,73 dan kedalaman ke 6 atau 3. Kami menyimpan gambar dengan kualiti 100% jika jpg, dalam eksport - name.jpg.

Secara pilihan anda boleh menyesuaikan tahap putih dengan mengklik Warna - Tahap - automatik.