هذا الكود هو تطبيق ويب بسيط يستخدم إطار العمل 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 |
عدد المشاهدات | 5 |
تاريخ الإضافة |