انشاء تطبيق Flask الذي يعالج الصور المرفوعة لأغراض التعرف على النصوص (OCR) باستخدام EasyOCR.

تفاصيل العمل

هذا الكود هو تطبيق ويب بسيط يستخدم إطار العمل Flask بلغة بايثون، ويعتمد على مكتبة EasyOCR لاستخراج النصوص من الصور. إليك وصف تفصيلي لمكونات التطبيق ووظيفته:

المكونات الرئيسية للتطبيق:

1. استيراد المكتبات:

- `Flask`: إطار عمل لبناء تطبيقات الويب.

- `request`: لالتقاط طلبات HTTP.

- `jsonify`: لتحويل البيانات إلى صيغة JSON.

- `easyocr`: مكتبة لتطبيق تقنيات OCR (التعرف الضوئي على الحروف).

- `PIL (Pillow)`: مكتبة لمعالجة الصور، بما في ذلك الرسم على الصور.

- `io`: للتعامل مع تدفقات البيانات.

- `base64`: لتحويل البيانات الثنائية إلى عملية ترميز base64.

2. تهيئة التطبيق والمكتبة:

- يتم إنشاء تطبيق Flask وتكوين مُعالج EasyOCR لدعم اللغة الإنجليزية.

3. نقطة النهاية `/upload`:

- يستقبل هذا المسار طلبات من نوع POST لتحميل صورة.

- يتحقق من وجود ملف صورة في الطلب ويعترض بشكل مناسب إذا لم يكن هناك ملف أو إذا كان الاسم فارغًا.

- يحاول معالجة الصورة باستخدام EasyOCR:

- فتح الصورة: باستخدام `PIL` لفتح الصورة المرسلة.

- استخراج النص: باستخدام `reader.readtext(image)` لاستخراج النص من الصورة.

- رسم النص في الصورة: يتم استدعاء دالة `draw_text` لإضافة مربعات حول الكلمات المستخرجة ورسمها على الصورة.

4. التحويل إلى Base64:

- بعد معالجة الصورة، يتم تحويلها إلى بيانات ثنائية ثم إلى سلسلة Base64 لتسهيل نقلها عبر HTTP.

5. إعداد رد JSON:

- يتم إنشاء كائن JSON يضم الصورة المعالجة بشكل Base64 وقائمة الكلمات المستخرجة من الصورة.

6. دالة `draw_text`:

- تأخذ الصورة ونتائج التعرف على النص كمدخلات، وتقوم برسم مستطيلات حمراء حول الكلمات المكتشفة ورسم النص بهذا اللون أعلى المستطيل.

7. تشغيل الخادم:

- يتم تشغيل التطبيق على الخادم المحلي مع تفعيل وضع التصحيح (debugging) ليتمكن المطوِّر من رؤية الأخطاء المحتملة.

الوظيفة العامة:

تطبيق الويب هذا معروف بخدمة الاستخراج النصي من الصور. عند إرسال صورة إلى نقطة النهاية `/upload`، يتم معالجة الصورة واستخراج النصوص منها، ثم يتم رد الصورة المعدّلة بالنصوص المكتشفة مع عرضها في تنسيق Base64، مما يسمح بعرضها بسهولة في واجهة المستخدم.

ملفات مرفقة

بطاقة العمل

اسم المستقل Asiyah E.
عدد الإعجابات 0
عدد المشاهدات 4
تاريخ الإضافة