Saya baru-baru ini menemukan Tesseract dan OpenCV . Sepertinya Tesseract adalah mesin OCR yang lengkap dan OpenCV dapat digunakan sebagai kerangka kerja untuk membuat aplikasi / layanan OCR.
Saya mencoba menggunakan Tesseract pada beberapa gambar saya dan akurasinya tampaknya lumayan. Kemudian, saya menemukan tutorial yang sangat sederhana tentang penggunaan OpenCV untuk melakukan OCR menggunakan Python dan saya terkesan. Dalam beberapa menit, saya menyelesaikan pelatihan sistem dan akurasinya bagus. Tapi tentu saja, mengambil pendekatan ini berarti saya perlu melatih sistem saya secara ekstensif menggunakan set pelatihan yang besar.
Pertanyaan spesifik saya adalah sebagai berikut:
- Bagaimana seseorang memilih antara Tesseract dan menggunakan OpenCV untuk membangun aplikasi OCR khusus?
- Ada set data pelatihan yang tersedia untuk Tesseract untuk berbagai bahasa. Apakah OpenCV memiliki sesuatu yang serupa sehingga saya tidak perlu memulai dari awal untuk mencapai OCR?
- Mana yang lebih baik untuk aplikasi komersial yang ingin menjadi?
Ada saran?
OCR accuracy tests
dan Anda akan menemukan beberapa grafik. Dan berbicara tentang aplikasi seluler, kebanyakan dari mereka menggunakan tesseract. Tetapi jika Anda repot-repot mengunduh beberapa di antaranya, Anda akan melihat bahwa hasilnya sedikit berbeda dari yang dijanjikan. Mereka biasanya membuat demo video di lingkungan yang dikontrol dengan hati-hati dan mempostingnya di youtube, tetapi di alam liar, jika Anda memindai halaman / resep / kartu / apa pun, Anda akan mendapatkan hasil yang lucu.Jawaban:
Tesseract adalah mesin OCR. Ini digunakan, dikerjakan dan didanai oleh Google secara khusus untuk membaca teks dari gambar, melakukan segmentasi dokumen dasar dan beroperasi pada masukan gambar tertentu (satu kata, baris, paragraf, halaman, kamus terbatas, dll.).
OpenCV, di sisi lain, adalah pustaka visi komputer yang menyertakan fitur yang memungkinkan Anda melakukan beberapa ekstraksi fitur dan klasifikasi data. Anda dapat membuat pemisah dan pengklasifikasi huruf sederhana yang menjalankan OCR dasar, tetapi ini bukan mesin OCR yang sangat baik (saya telah membuatnya dengan Python sebelumnya dari awal. Ini benar-benar tidak akurat untuk input yang menyimpang dari data pelatihan Anda).
Jika Anda ingin mendapatkan pemahaman dasar tentang seberapa keras OCR itu, coba OpenCV. Tesseract adalah untuk nyata OCR.
sumber
0
sebagai8
(dengan total $ 20.00). Saya akui angka itu sulit bahkan untuk saya pecahkan tetapi saya tidak yakin apa lagi yang bisa dilakukan untuk menyesuaikan Tesseract dengan situasi ini atau mungkin memperkenalkan komponen pembelajaran jika saya akan memiliki basis pengguna aktif.Saya adalah penulis dari tutorial pengenalan digit yang Anda sebutkan, dan saya akan mengatakan, itu bukan pengganti Tesseract.
Tesseract adalah mesin OCR yang sangat bagus, mungkin merupakan mesin OCR OpenSource terbaik.
Tutorial yang Anda sebutkan hanyalah sebuah percobaan, untuk memahami cara kerja OCR yang paling sederhana.
Jadi, jika Anda mencari aplikasi OCR, saya akan merekomendasikan Anda untuk menggunakan OpenCV untuk memproses gambar sebelumnya dan kemudian menerapkan mesin tesseract.
sumber
Keduanya bisa saling melengkapi. Jika Anda membaca makalah tentang OpenCV: https://github.com/tesseract-ocr/docs/blob/master/tesseracticdar2007.pdf
Ini menyoroti bahwa "Karena HP memiliki teknologi analisis tata letak halaman yang dikembangkan secara mandiri yang digunakan dalam produk, (dan karenanya tidak dirilis untuk sumber terbuka) Tesseract tidak pernah memerlukan analisis tata letak halamannya sendiri. Oleh karena itu, Tesseract mengasumsikan bahwa inputnya adalah gambar biner dengan wilayah teks poligonal opsional ditentukan. "
Jenis tugas ini dapat dilakukan oleh OpenCV dan gambar yang dihasilkan diserahkan ke Tesseract. Anda dapat menemukan contoh kode jenis ini di repo Git: https://github.com/Itseez/opencv_contrib/tree/master/modules/text/samples Sampel menggunakan Tesseract API untuk melakukan konversi gambar ke teks.
sumber
OpenCV adalah library untuk CV , digunakan untuk menganalisis dan memproses gambar secara umum. Tesseract adalah pustaka untuk OCR , yang merupakan subset khusus CV yang didedikasikan untuk mengekstrak teks dari gambar.
Dari OpenCV.org
Dari Tesseract Github :
sumber