Membuat Optical Character Recognition (OCR) Sederhana menggunakan Python

Panduan pemula untuk Tesseract OCR

Fahmi Salman
Miloo Community
4 min readJul 16, 2020

--

Photo by Jason Leung on Unsplash

Catatan: Artikel ini juga dipublikasikan di website saya! Jika kamu tidak bisa membaca tulisan ini secara utuh dikarenakan terhalang oleh Medium Paywall, kamu bisa membaca tulisan ini di website saya dengan menggunakan tautan yang terdapat dalam bio.

Saat mengumpulkan data untuk proses text mining atau mencari referensi lain, kita sering menemukan sumber dalam bentuk gambar. Misalnya, jika kita akan menganalisis sebuah kata dalam format pdf, file tersebut malah berisi gambar teks. Ini tentu menyulitkan pemrosesan data. Salah satu solusi untuk masalah ini adalah kita dapat menggunakan Optical Character Recognition (OCR).

OCR adalah teknologi untuk mengenali teks dalam gambar, seperti dokumen dan foto. Salah satu tool OCR yang sering digunakan adalah Tesseract. Tesseract adalah OCR engine untuk berbagai sistem operasi. Awalnya dikembangkan oleh Hewlett-Packard, kemudian pengembangannya diambil alih oleh Google.

Saat ini Tesseract bisa digunakan pada platform Windows, macOS, dan Linux. Tesseract mendukung Unicode (UTF-8) dan mendukung lebih dari 100 bahasa. Pada artikel ini kita akan mulai dengan proses instalasi Tesseract OCR, dan menguji ekstraksi teks dalam gambar.

Perlu diketahui bahwa artikel ini merupakan terjemahan dari artikel saya yang lain, sehingga beberapa kata mungkin akan sedikit membingungkan. Jika anda tertarik untuk membaca artikel aslinya, anda dapat mengunjungi tautan berikut.

Langkah pertama adalah menginstal Tesseract. Untuk menggunakan library Tesseract, pertama-tama kita harus menginstalnya di sistem kita. Jika Anda menggunakan Ubuntu, Anda cukup menggunakan apt-get untuk menginstal Tesseract OCR:

Untuk pengguna macOS, anda bisa menggunakan Homebrew untuk menginstall Tesseract.

Untuk pengguna Windows, silakan lihat dokumentasi Tesseract.

Mari kita mulai dengan menginstal pytesseract.

Setelah instalasi selesai, mari kita lanjutkan dengan menggunakan Tesseract pada python. Pertama kita mengimpor library yang diperlukan.

Saya akan menggunakan gambar sederhana untuk menguji penggunaan tesseract. Saya akan menggunakan gambar di bawah ini.

Image sample

Mari memuat gambar ini dan mengubahnya menjadi teks.

Sekarang, mari kita lihat hasilnya dengan menggunakan print(text). Dan inilah hasilnya.

Hasil yang diperoleh dari Tesseract cukup baik untuk gambar sederhana. Karena di dunia nyata sulit menemukan gambar yang benar-benar sederhana, jadi saya akan menambahkan noise untuk melihat kinerja Tesseract. Saya akan menggunakan gambar di bawah ini.

Image sample dengan noise

Kemudian kita akan melakukan proses yang sama seperti sebelumnya.

Ini hasilnya.

Hasilnya adalah … Tidak ada apa-apa. Ini berarti bahwa Tesseract tidak dapat membaca kata-kata dalam gambar yang memiliki noise.

Kemudian kita akan mencoba menggunakan sedikit image processing untuk menghilangkan noise pada gambar. Di sini kita akan menggunakan library Open CV. Dalam percobaan ini, saya menggunakan normalisasi, thresholding dan image blur.

Maka hasilnya akan seperti ini.

Preprocessed image

Terlihat bahwa gambarnya cukup bersih dari noise, maka kita akan coba lagi dengan proses yang sama seperti sebelumnya. Dan inilah hasilnya.

Dapat dilihat dari gambar di atas bahwa hasilnya sesuai dengan apa yang kita harapkan. Jika kamu ingin mengetahui teknik yang lebih advance. Kamu bisa mengunjungi artikel di tautan berikut.

Kesimpulan yang dapat diperoleh adalah bahwa Tesseract paling cocok digunakan ketika akan memproses dokumen gambar hasil scan atau yang telah diproses terlebih dahulu. Tesseract akan memberikan hasil terbaik ketika gambar yang diberikan dalam bentuk high-resolution dimana foreground text tersegmentasi secara baik dari latar belakang.

--

--