Perpustakaan JavaScript Percuma untuk Menganalisis Teks dari Imej & Borang yang Diimbas
Perpustakaan JavaScript Pengenalan Aksara Optik (OCR) Sumber Terbuka untuk Menganalisis Teks dari Imej & Dokumen Imbas Hitam-&-Putih dengan Sokongan Pra-pemprosesan Imej & Templat dalam Aplikasi Web atau Node.js.
Dalam dunia digital moden, teknologi pengenalan aksara optik (OCR) memainkan peranan penting dalam menukar imej yang diimbas, nota tulisan tangan, atau dokumen cetak menjadi data yang boleh disunting dan dicari. Bagi pembangun JavaScript yang mencari penyelesaian ringan dan sumber terbuka, Guten OCR menawarkan pilihan yang menarik. Enjin OCR berasaskan JavaScript ini direka dengan kesederhanaan, menjadikannya ideal untuk menyematkan ciri OCR secara langsung ke dalam aplikasi berasaskan pelayar atau Node.js. Terdapat beberapa ciri penting dalam perpustakaan ini, seperti pengenalan aksara melalui templat, penapisan dan binarisasi imej, segmentasi aksara, pencocokan templat dan penyusunan teks, sokongan kod modular dan sebagainya. Ia menumpukan pada pengenalan teks cetak daripada dokumen imbas hitam-putih dan paling sesuai untuk teks yang diformat dengan baik, seperti buku atau borang.
Guten OCR ialah enjin OCR JavaScript sumber terbuka yang dibangunkan oleh Gutenye. Tidak seperti alat OCR berat yang memerlukan kebergantungan luaran atau persediaan yang meluas, Guten OCR ditulis sepenuhnya dalam JavaScript, bermakna ia boleh dijalankan dalam pelayar web atau pada pelayan dengan Node.js. Perpustakaan ini menggunakan teknik pemprosesan imej asas untuk memisahkan aksara dan mengenalinya menggunakan sistem pengenalan corak aksara. Walaupun ia belum bersaing dengan enjin OCR komersial seperti Tesseract dari segi sokongan berbilang bahasa atau tulisan tangan, kesederhanaan dan kebolehan ubahsuai menjadikannya pilihan fantastik untuk projek pendidikan, bukti konsep, atau ciri OCR terbenam dalam aplikasi web khusus. Tidak seperti Tesseract atau enjin lain yang lebih besar, Guten OCR sengaja direka ringan dan fokus—menjadikannya titik permulaan yang sangat baik bagi mereka yang ingin memahami cara OCR berfungsi di sebalik tabir.
Mula Menggunakan Guten OCR
Kaedah yang disarankan untuk memasang Guten OCR ialah menggunakan Brew. Sila gunakan perintah berikut untuk pemasangan yang lancar
Pasang Guten OCR melalui Brew
brew install git-lfs Pasang Guten OCR melalui GitHub
git clone git@github.com:gutenye/ocr.git Anda juga boleh memasangnya secara manual; muat turun fail pelepasan terkini terus dari GitHub repositori.
Pra-pemprosesan Imej Sebelum Operasi OCR
Perpustakaan Guten OCR sumber terbuka ditulis sepenuhnya dalam JavaScript, menjadikannya serasi dengan persekitaran pelayar dan Node.js. Ia menyertakan fungsi pra-pemprosesan imej terbina dalam untuk meningkatkan ketepatan pengenalan. Ia menyokong Binarisasi imej (menukar kepada hitam putih), pengurangan hingar, pembetulan kecenderungan dan banyak lagi. Contoh berikut menunjukkan bagaimana pembangun boleh melaksanakan beberapa langkah pra-pemprosesan imej sebelum melakukan operasi OCR pada imej.
Bagaimana Memohon Pra-pemprosesan Imej sebelum Operasi OCR melalui Perpustakaan JavaScript?
const { preprocess } = require('guten-ocr');
// Apply multiple preprocessing steps
const processedImage = preprocess(imageData, [
'grayscale', // Convert to grayscale
'binarize', // Convert to black and white
'deskew', // Correct skew
'denoise' // Reduce noise
]);
// Then perform OCR on the processed image
ocr.recognize(processedImage).then(/* ... */);
Pengenalan Aksara melalui Templat
Perpustakaan JavaScript Guten OCR menyediakan sokongan lengkap untuk melaksanakan operasi OCR menggunakan templat dalam aplikasi JavaScript. Di tengah-tengah Guten OCR terdapat sistem pencocokan templat. Daripada melatih model pembelajaran mesin, ia menggunakan corak aksara yang telah ditetapkan. Ini menjadikan sistem lebih cepat dan lebih mudah difahami tetapi lebih sensitif terhadap konsistensi fon dan susun atur. Untuk melaksanakan tugas ini, perpustakaan merender setiap aksara (A–Z, a–z, 0–9, dll.) dalam kanvas dan kemudian matriks binari bagi setiap aksara menjadi templat rujukan. Apabila menganalisis imej, perpustakaan membandingkan segmen imej dengan templat-templat ini untuk mencari padanan terbaik. Ia melakukannya menggunakan gabungan pengimbasan garis menegak dan mendatar untuk mengesan kotak sempadan.
Segmentasi Aksara melalui Perpustakaan OCR
Perpustakaan JavaScript sumber terbuka Guten OCR membolehkan pembangun perisian melakukan segmentasi aksara dengan mudah. Setelah imej dibinariskan, langkah seterusnya ialah memsegmentasikan aksara individu. Guten OCR mengimbas baris dan lajur untuk mengesan kawasan dengan piksel hitam padat, memisahkannya menjadi aksara berpotensi. Contoh berikut menunjukkan bagaimana pembangun perisian boleh melaksanakan segmentasi aksara menggunakan perpustakaan OCR JavaScript.
Bagaimana Melakukan Segmentasi Aksara menggunakan Perpustakaan JavaScript?
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]