Pertanyaan Bagaimana saya memilih antara Tesseract dan OpenCV?


Saya baru saja bertemu Tesseract dan OpenCV. Sepertinya Tesseract adalah mesin OCR penuh dan OpenCV dapat digunakan sebagai kerangka kerja untuk membuat aplikasi / layanan OCR.

Saya mencoba menggunakan Tesseract pada beberapa gambar saya dan keakuratannya tampak bagus. Belakangan, saya menemukan hal yang sangat sederhana tutorial menggunakan OpenCV untuk melakukan OCR menggunakan Python dan terkesan. Dalam beberapa menit, saya selesai melatih sistem dan akurasinya bagus. Tetapi tentu saja, dengan menggunakan pendekatan ini berarti saya perlu melatih sistem saya secara ekstensif menggunakan perangkat pelatihan yang besar.

Pertanyaan spesifik saya adalah sebagai berikut:

  • Bagaimana cara memilih antara Tesseract dan menggunakan OpenCV untuk membangun aplikasi OCR kustom?
  • Ada dataset pelatihan yang tersedia untuk Tesseract untuk bahasa yang berbeda. Apakah OpenCV memiliki sesuatu yang serupa sehingga saya tidak perlu memulai dari awal untuk mencapai OCR?
  • Mana yang lebih baik untuk aplikasi komersial yang diinginkan?

Ada saran?

Catatan: Saya berusia 24 jam di bidang Computer Vision tetapi saya bersedia meluangkan waktu dan upaya untuk mempelajari pra-syarat.


76
2017-07-15 06:07


asal


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 input gambar tertentu (satu kata, garis, paragraf, halaman, kamus terbatas, dll.).

  • OpenCV, di sisi lain, adalah perpustakaan visi komputer yang mencakup fitur-fitur yang memungkinkan Anda melakukan beberapa ekstraksi fitur dan klasifikasi data. Anda dapat membuat segmenter huruf sederhana dan classifier yang melakukan OCR dasar, tetapi ini bukan mesin OCR yang sangat bagus (saya telah membuat satu 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, cobalah OpenCV. Tesseract adalah untuk nyata OCR.


65
2017-07-15 06:12



Saya adalah pengarang dari tutorial pengenalan digit yang Anda sebutkan, dan Saya akan mengatakan, itu tidak ada cara menggantikan tesseract.

Tesseract adalah mesin OCR yang sangat bagus, mungkin mesin OpenSource OCR 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 preprocessing gambar dan kemudian menerapkan tesseract engine.


60
2017-07-15 06:21



Keduanya bisa saling melengkapi. Jika Anda membaca koran di OpenCV http://tesseract-ocr.googlecode.com/svn/trunk/doc/tesseracticdar2007.pdf

Ini menyoroti bahwa "Karena HP memiliki teknologi analisis tata letak halaman yang dikembangkan sendiri yang digunakan dalam produk, (dan karena itu tidak dirilis untuk open source) Tesseract tidak pernah membutuhkan analisis tata letak halaman sendiri. Oleh karena itu Tesseract menganggap bahwa inputnya adalah citra biner dengan wilayah teks poligonal opsional yang ditentukan. "

Jenis tugas ini dapat dilakukan oleh OpenCV dan gambar yang dihasilkan diserahkan kepada 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.


7
2017-11-13 01:50



OpenCV adalah perpustakaan untuk CV, digunakan untuk menganalisa dan memproses gambar secara umum. Tesseract adalah perpustakaan untuk OCR, yang merupakan bagian khusus dari CV yang didedikasikan untuk mengekstraksi teks dari gambar.

Dari OpenCV.org

..... digunakan untuk mendeteksi dan mengenali wajah, mengidentifikasi objek, mengklasifikasikan tindakan manusia dalam video, melacak gerakan kamera, melacak objek yang bergerak, mengekstrak model objek 3D, menghasilkan awan titik 3D dari kamera stereo, menjahit gambar bersama untuk menghasilkan gambar resolusi dari seluruh adegan, temukan gambar serupa dari database gambar, hapus mata merah dari gambar yang diambil menggunakan flash, ikuti gerakan mata, kenali pemandangan dan buat penanda untuk melapisinya dengan augmented reality, dll.

Dari Tesseract Github:

..... dapat digunakan secara langsung, atau (untuk pemrogram) menggunakan API untuk mengekstrak teks yang diketik, tulisan tangan atau dicetak dari gambar. Mendukung berbagai macam bahasa.


0
2017-09-26 03:25