1. Produk
  2.   OCR
  3.   JavaScript
  4.   Guten OCR
 
  

Perpustakaan JavaScript Percuma untuk Mengurai Teks dari Imej & Borang Imbas

Perpustakaan JavaScript OCR (Optical Character Recognition) sumber terbuka untuk menafsirkan teks daripada Imej & Dokumen Imbasan Hitam-&-Putih dengan Pra-pemprosesan Imej & Sokongan Templat dalam aplikasi Web atau Node.js.

Dalam dunia digital moden, teknologi pengecaman 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 pemaju 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 pengecaman aksara melalui templat, penapisan dan binarisasi imej, segmentasi aksara, padanan templat dan penyusunan teks, sokongan kod modular dan sebagainya. Ia menumpukan pada pengecaman 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 dicipta oleh Gutenye. Berbeza dengan alat OCR berat yang memerlukan kebergantungan luaran atau persediaan yang meluas, Guten OCR ditulis sepenuhnya dalam JavaScript, yang bermakna ia boleh dijalankan dalam pelayar web atau pada pelayan dengan Node.js. Perpustakaan ini menggunakan teknik pemprosesan imej asas untuk memsegmen aksara dan mengenalinya menggunakan sistem pengenalan corak aksara. Walaupun ia belum dapat bersaing dengan enjin OCR komersial seperti Tesseract dari segi sokongan teks berbilang bahasa atau tulisan tangan, kesederhanaannya dan kebolehan diubah suai menjadikannya pilihan yang fantastik untuk projek pendidikan, bukti konsep, atau ciri OCR terbenam dalam aplikasi web khusus. Berbeza dengan Tesseract atau enjin yang lebih besar, Guten OCR sengaja ringan dan terfokus—menjadikannya titik permulaan yang cemerlang bagi mereka yang ingin memahami cara OCR berfungsi di belakang tabir.

Previous Next

Mula Menggunakan Guten OCR

Cara yang disyorkan 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 secara langsung 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 menerapkan pelbagai langkah pra-pemprosesan imej sebelum melakukan operasi OCR pada imej.

Bagaimana untuk Menerapkan 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 telah menyediakan sokongan lengkap untuk melaksanakan operasi OCR menggunakan templat dalam aplikasi JavaScript. Di tengah-tengah Guten OCR terdapat sistem padanan 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 untuk setiap aksara menjadi templat rujukan. Apabila menganalisis imej, perpustakaan membandingkan segmen imej dengan templat-templat ini untuk mencari padanan terbaik. Ia melakukannya dengan menggunakan gabungan pengimbasan garis menegak dan mendatar untuk mencari kotak sempadan.

Segmentasi Aksara melalui Perpustakaan OCR

Perpustakaan JavaScript sumber terbuka Guten OCR membolehkan pemaju perisian melakukan segmentasi aksara dengan mudah. Setelah imej dibinarkan, langkah seterusnya ialah memsegmentasikan aksara individu. Guten OCR mengimbas baris dan lajur untuk mengesan kawasan dengan piksel hitam yang padat, memisahkannya menjadi aksara berpotensi. Contoh berikut menunjukkan bagaimana pemaju perisian dapat melakukan segmentasi aksara menggunakan perpustakaan OCR JavaScript.

Bagaimana untuk Melakukan Segmentasi Aksara menggunakan Perpustakaan JavaScript?

const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]
 Melayu