Menginstal Tesseract OCR di Linux

Tesseract OCR (Optical Character Recognition) adalah engine dan program command line sumber terbuka dan gratis untuk mengekstrak teks dari gambar menggunakan teknologi dan algoritma pengenalan karakter optik. Proyek ini didukung oleh Google dan hingga hari ini, ini dianggap sebagai engine OCR open source terbaik yang tersedia. Itu dapat mendeteksi dan mengekstrak teks dalam berbagai bahasa dengan akurasi tinggi.

Menginstal Tesseract OCR di Linux

Tesseract OCR tersedia secara default di sebagian besar distribusi Linux. Anda dapat menginstalnya di Ubuntu menggunakan perintah di bawah ini:

$ sudo apt install tesseract-ocr

Instruksi rinci untuk distribusi lain tersedia di sini. Meskipun Tesseract OCR tersedia di repositori banyak distribusi Linux secara default, disarankan untuk menginstal versi terbaru dari tautan yang disebutkan di atas untuk meningkatkan akurasi dan penguraian.

Menginstal Dukungan untuk Bahasa Tambahan di Tesseract OCR

Tesseract OCR menyertakan dukungan untuk mendeteksi teks dalam lebih dari 100 bahasa. Namun, Anda hanya mendapatkan dukungan untuk mendeteksi teks dalam bahasa Inggris dengan instalasi default di Ubuntu. Untuk menambahkan dukungan untuk mem-parsing bahasa tambahan di Ubuntu, jalankan perintah dalam format berikut:

$ sudo apt install tesseract-ocr-hin

Perintah di atas akan menambahkan dukungan untuk bahasa Hindi ke Tesseract OCR. Terkadang Anda bisa mendapatkan akurasi dan hasil yang lebih baik dengan menginstal dukungan untuk skrip bahasa. Misalnya, menginstal dan menggunakan paket tesseract untuk skrip Devanagari “tesseract-ocr-script-deva” memberi saya hasil yang jauh lebih akurat daripada menggunakan paket “tesseract-ocr-hin”.

Di Ubuntu, Anda dapat menemukan nama paket yang benar untuk semua bahasa dan skrip dengan menjalankan perintah di bawah ini:

$ apt-cache search tesseract-

Setelah Anda mengidentifikasi nama paket yang benar untuk diinstal, ganti string “tesseract-ocr-hin” dengannya pada perintah pertama yang ditentukan di atas.

Menggunakan Tesseract OCR untuk Mengekstrak Teks dari Gambar

Mari kita ambil contoh gambar yang ditunjukkan di bawah ini (diambil dari halaman Wikipedia untuk Linux):

Untuk mengekstrak teks dari gambar di atas, Anda harus menjalankan perintah dalam format berikut:

$ tesseract capture.png output -l eng

Menjalankan perintah di atas memberikan output berikut:

Pada perintah di atas, “capture.png” mengacu pada gambar yang ingin Anda ekstrak teksnya. Output yang diambil kemudian disimpan dalam file “output.txt”. Anda dapat mengubah bahasa dengan mengganti argumen “eng” dengan pilihan Anda sendiri. Untuk melihat semua bahasa yang valid, jalankan perintah di bawah ini:

$ tesseract --list-langs

Ini akan menampilkan kode singkatan untuk semua bahasa yang didukung oleh Tesseract OCR di sistem Anda. Secara default, itu hanya akan menampilkan “eng” sebagai output. Namun, jika Anda menginstal paket untuk bahasa tambahan seperti yang dijelaskan di atas, perintah ini akan mencantumkan lebih banyak bahasa yang dapat Anda gunakan untuk mendeteksi teks (sebagai kode bahasa 3 huruf ISO 639).

Jika gambar berisi teks dalam beberapa bahasa, tentukan bahasa utama terlebih dahulu diikuti dengan bahasa tambahan yang dipisahkan dengan tanda tambah.

$ tesseract capture.png output -l eng+fra

Jika Anda ingin menyimpan output sebagai file PDF yang dapat dicari, jalankan perintah dalam format berikut:

$ tesseract capture.png output -l eng pdf

Perhatikan bahwa file PDF yang dapat dicari tidak akan berisi teks yang dapat diedit. Ini termasuk gambar asli, dengan lapisan tambahan yang berisi teks yang dikenali ditumpangkan pada gambar. Jadi, meskipun Anda dapat mencari teks dalam file PDF secara akurat menggunakan pembaca PDF apa pun, Anda tidak akan dapat mengedit teksnya.

Hal lain yang harus Anda perhatikan bahwa akurasi deteksi teks meningkat pesat jika file gambar berkualitas tinggi. Diberi pilihan, selalu gunakan format file lossless atau file PNG. Menggunakan file JPG mungkin tidak memberikan hasil terbaik.

Mengekstrak Teks dari File PDF Multi-halaman

Tesseract OCR secara asli tidak mendukung ekstraksi teks dari file PDF. Namun, dimungkinkan untuk mengekstrak teks dari file PDF multi-halaman dengan mengonversi setiap halaman menjadi file gambar. Jalankan perintah di bawah ini untuk mengonversi file PDF menjadi sekumpulan gambar:

$ pdftoppm -png file.pdf output

Untuk setiap halaman file PDF, Anda akan mendapatkan file “output-1.png”, “output-2.png” yang sesuai, dan seterusnya.

Sekarang, untuk mengekstrak teks dari gambar-gambar ini dengan menggunakan satu perintah, Anda harus menggunakan “for loop” dalam perintah bash:

$ for i in *.png; do tesseract "$i" "output-$i" -l eng; done;

Menjalankan perintah di atas akan mengekstrak teks dari semua file “.png” yang ditemukan di direktori kerja dan menyimpan teks yang dikenali dalam file “output-original_filename.txt”. Anda dapat memodifikasi bagian tengah dari perintah sesuai kebutuhan Anda.

Jika Anda ingin menggabungkan semua file teks yang berisi teks yang dikenali, jalankan perintah di bawah ini:

$ cat *.txt > joined.txt

Proses mengekstrak teks dari file PDF multi-halaman menjadi file PDF yang dapat dicari hampir sama. Anda harus memberikan argumen “pdf” tambahan ke perintah:

$ for i in *.png; do tesseract "$i" "output-$i" -l eng pdf; done;

Jika Anda ingin menggabungkan semua file PDF yang dapat dicari yang berisi teks yang dikenali, jalankan perintah di bawah ini:

$ pdfunite *.pdf joined.pdf

Baik “pdftoppm” dan “pdfunite” diinstal secara default pada versi stabil terbaru Ubuntu.

Keuntungan dan Kerugian Mengekstrak Teks dalam File TXT dan PDF yang Dapat Dicari

Jika Anda mengekstrak teks yang dikenali ke dalam file TXT, Anda akan mendapatkan output teks yang dapat diedit. Namun, semua pemformatan dokumen akan hilang (tebal, karakter miring, dan sebagainya). File PDF yang dapat dicari akan mempertahankan format aslinya, tetapi Anda akan kehilangan kemampuan mengedit teks (Anda masih dapat menyalin teks mentah). Jika Anda membuka file PDF yang dapat dicari di editor PDF apa pun, Anda akan mendapatkan gambar yang disematkan dalam file dan bukan output teks mentah. Mengonversi file PDF yang dapat dicari menjadi HTML atau EPUB juga akan memberi Anda gambar yang disematkan.

Kesimpulan

Tesseract OCR adalah salah satu engine OCR yang paling banyak digunakan saat ini. Ini gratis, sumber terbuka dan mendukung lebih dari seratus bahasa. Saat menggunakan Tesseract OCR, pastikan untuk menggunakan gambar beresolusi tinggi dan kode bahasa yang benar dalam argumen command line untuk meningkatkan akurasi deteksi teks.

Related Posts