مكتبة جافاسكريبت مجانية لتحليل النص من الصور والنماذج الممسوحة
مكتبة جافاسكريبت مفتوحة المصدر للتعرف الضوئي على الأحرف (OCR) لتحليل النص من الصور والوثائق الممسوحة بالأبيض-الأسود مع معالجة الصور ودعم القوالب في تطبيقات الويب أو Node.js.
في العالم الرقمي الحديث، تلعب تقنية التعرف الضوئي على الأحرف (OCR) دورًا حاسمًا في تحويل الصور الممسوحة، الملاحظات المكتوبة يدويًا، أو المستندات المطبوعة إلى بيانات قابلة للتحرير والبحث. بالنسبة لمطوري JavaScript الذين يبحثون عن حل خفيف الوزن ومفتوح المصدر، يقدم Guten OCR خيارًا جذابًا. تم تصميم محرك OCR القائم على JavaScript مع التركيز على البساطة، مما يجعله مثاليًا لتضمين ميزات OCR مباشرةً في التطبيقات القائمة على المتصفح أو Node.js. هناك عدة ميزات مهمة في المكتبة، مثل التعرف على الأحرف عبر القوالب، عتبة الصورة وتثنائيتها، تقسيم الأحرف، مطابقة القوالب وتجميع النص، دعم قاعدة شفرة معيارية وغيرها. يركز على التعرف على النص المطبوع من المستندات الممسوحة بالأبيض والأسود وهو الأنسب للنصوص ذات التنسيق الجيد، مثل الكتب أو النماذج.
Guten OCR هو محرك OCR مفتوح المصدر مكتوب بلغة JavaScript تم إنشاؤه بواسطة Gutenye. على عكس أدوات OCR الضخمة التي تتطلب تبعيات خارجية أو إعدادًا مكثفًا، تم كتابة Guten OCR بالكامل بلغة JavaScript، مما يعني أنه يمكن تشغيله في متصفح ويب أو على الخادم باستخدام Node.js. تستخدم المكتبة تقنيات معالجة صور أساسية لتقسيم الأحرف وتحديدها باستخدام نظام التعرف على نمط الأحرف. بينما قد لا ينافس بعد محركات OCR التجارية مثل Tesseract من حيث دعم النصوص المتعددة اللغات أو المكتوبة يدويًا، فإن بساطته وقابليته للتعديل تجعله خيارًا رائعًا للمشاريع التعليمية، ونماذج إثبات المفهوم، أو ميزات OCR المدمجة في تطبيقات ويب مخصصة. على عكس Tesseract أو المحركات الأكبر، تم تصميم Guten OCR ليكون خفيف الوزن ومركزًا بشكل متعمد—مما يجعله نقطة انطلاق ممتازة لأولئك الذين يرغبون في فهم كيفية عمل OCR من الداخل.
البدء مع Guten OCR
الطريقة الموصى بها لتثبيت Guten OCR هي باستخدام Brew. يرجى استخدام الأمر التالي لتثبيت سلس
تثبيت Guten OCR عبر Brew
brew install git-lfs تثبيت Guten OCR عبر GitHub
git clone git@github.com:gutenye/ocr.git يمكنك أيضًا تثبيتها يدويًا؛ قم بتنزيل أحدث ملفات الإصدار مباشرةً من GitHub المستودع.
معالجة الصور قبل عمليات OCR
مكتبة Guten OCR مفتوحة المصدر مكتوبة بالكامل بلغة JavaScript، مما يجعلها متوافقة مع بيئات المتصفح وNode.js. تتضمن وظائف مدمجة لمعالجة الصور مسبقًا لتحسين دقة التعرف. تدعم تحويل الصورة إلى ثنائية (تحويلها إلى أبيض وأسود)، تقليل الضوضاء، تصحيح الميل والمزيد. يوضح المثال التالي كيف يمكن للمطورين تطبيق خطوات متعددة لمعالجة الصور مسبقًا قبل إجراء عملية OCR على الصور.
كيف تقوم بتطبيق معالجة الصور قبل عملية OCR عبر مكتبة 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(/* ... */);
التعرف على الأحرف عبر القوالب
توفر مكتبة جافا سكريبت Guten OCR دعمًا كاملاً لأداء عمليات OCR باستخدام القوالب داخل تطبيقات جافا سكريبت. في صميم Guten OCR يوجد نظام مطابقة القوالب. بدلاً من تدريب نموذج تعلم آلي، تستخدم أنماط أحرف محددة مسبقًا. يجعل ذلك النظام أسرع وأسهل للفهم لكنه أكثر حساسية لتناسق الخط والتخطيط. لتنفيذ هذه المهمة، تقوم المكتبة برسم كل حرف (A–Z، a–z، 0–9، إلخ) على لوحة ثم يصبح المصفوفة الثنائية لكل حرف قالبًا مرجعيًا. عند تحليل صورة، تقارن المكتبة مقاطع الصورة بهذه القوالب للعثور على أفضل تطابق. تقوم بذلك باستخدام مزيج من مسح الخطوط العمودية والأفقية لتحديد الصناديق المحيطة.
تقسيم الأحرف عبر مكتبة OCR
تمكن مكتبة جافا سكريبت المفتوحة المصدر Guten OCR مطوري البرمجيات من تنفيذ تجزئة الأحرف بسهولة. بمجرد تحويل الصورة إلى ثنائية، تكون الخطوة التالية هي تجزئة الأحرف الفردية. تقوم Guten OCR بمسح الصفوف والأعمدة لاكتشاف المناطق التي تحتوي على بكسلات سوداء كثيفة، وتفصلها إلى أحرف محتملة. المثال التالي يوضح كيف يمكن لمطوري البرمجيات تنفيذ تجزئة الأحرف باستخدام مكتبة OCR لجافا سكريبت.
كيف تقوم بتنفيذ تقسيم الأحرف باستخدام مكتبة JavaScript؟
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]