Free Optical Character Recognition API for Chinese Manuscripts
Open Source C++ OCR to perform OCR operations on Chinese Manuscripts using template-based matching, where characters are matched pixel-wise against known samples.
Apa itu C++ OCR Gratis?
Optical Character Recognition (OCR) pada skrip non-Latin—khususnya bahasa Cina—menyajikan tantangan unik karena kompleksitas dan variasi karakter. Untungnya, API OCR C++ sumber terbuka oleh Sebastian Starke menawarkan solusi bersih dan dapat diperluas yang disesuaikan untuk mengenali karakter Cina yang dicetak atau tulisan tangan, terutama dari sumber naskah. Dirancang dengan kesederhanaan dan adaptabilitas, API ringan ini memungkinkan pengembang perangkat lunak bereksperimen dengan pengenalan karakter menggunakan metode pemrosesan citra klasik alih-alih model pembelajaran mesin yang berat.
Proyek ini bukan mesin OCR neural berskala penuh seperti Tesseract. Sebaliknya, ia mengambil pendekatan berbeda: menggunakan pencocokan berbasis templat, di mana karakter dicocokkan piksel demi piksel dengan sampel yang dikenal. Hal ini menjadikannya ideal untuk penggunaan edukasi, lingkungan terkendali, atau tugas pengenalan khusus seperti analisis naskah historis, tipe cetak tradisional Cina, atau dataset tulisan tangan sederhana. Proyek ini sangat cocok untuk pengembang yang bekerja pada lingkungan sumber daya rendah, seperti sistem Linux tertanam, Raspberry Pi, atau perangkat pemindaian industri. Karena tidak bergantung pada dependensi berat atau perpustakaan pembelajaran mendalam.
Memulai OCR
Cara yang disarankan untuk menginstal OCR adalah menggunakan GitHub. Silakan gunakan perintah berikut untuk instalasi yang lancar.
Instal API OCR via GitHub
Instal API OCR via GitHub
git clone https://github.com/sebastianstarke/OCR.git Anda juga dapat menginstalnya secara manual; unduh file rilis terbaru langsung dari GitHub repositori.
Mesin OCR Berbasis Templat
API C++ OCR sumber terbuka untuk naskah Cina menyediakan dukungan lengkap untuk menggunakan Mesin OCR Berbasis Templat di dalam aplikasi C++. Di jantung perpustakaan ini terdapat sistem perbandingan citra klasik: gambar karakter dibinarisasi dan kemudian dibandingkan dengan templat menggunakan metrik jarak (biasanya perbandingan piksel demi piksel). Untuk bahasa Cina, ini sangat berguna ketika berhadapan dengan kaligrafi konsisten atau naskah cetak.
Bagaimana Cara Melakukan Pengenalan OCR Berbasis Templat dalam aplikasi C++?
OCR::TemplateCollection templates;
templates.loadFromFolder("templates/"); // Load preprocessed characters
OCR::Recognizer recognizer(templates);
std::string recognizedText = recognizer.recognizeFromImage("scanned_page.png");
Dukungan Pra-pemrosesan Gambar
Perpustakaan OCR sumber terbuka ini menyediakan dukungan lengkap untuk fungsi pra-pemrosesan gambar di dalam aplikasi C++. Perpustakaan menawarkan pra-pemrosesan dasar seperti thresholding dan cropping untuk membersihkan masukan yang berisik. Naskah Cina sering ditulis pada kertas tua, sehingga pembersihan gambar sangat penting untuk hasil yang akurat. Contoh berikut menunjukkan bagaimana dengan hanya beberapa baris kode C++ pengembang perangkat lunak dapat melakukan pra-pemrosesan gambar.
Bagaimana Cara Melakukan Pra-pemrosesan Gambar sebelum Operasi OCR di dalam Aplikasi C++?
OCR::ImageProcessor processor;
cv::Mat cleanImage = processor.binarize("raw_scan.png");
Dukungan Transformasi Morfologis
Proses dimulai dengan serangkaian transformasi morfologis. Ini adalah operasi pemrosesan citra dasar yang mengubah geometri fitur dalam sebuah gambar. Dalam konteks ini, mereka digunakan untuk membersihkan gambar naskah, menghilangkan noise, dan menyiapkan karakter untuk segmentasi.