التعرف على النص وحل المعادلات الرياضية المكتوبة بخط اليد
التعرف على النص وحل المعادلات الرياضية المكتوبة بخط اليد
المقدمة:
في عصر التكنولوجيا الحديثة، تتطور تطبيقات البرمجيات بشكل مستمر لتقديم حلول مبتكرة تسهل حياتنا اليومية.
من بين هذه التطبيقات، يظهر تطبيق الرسم والتعرف الضوئي على الحروف (OCR) كأداة قوية تساعد على تحويل النصوص المكتوبة بخط اليد إلى نصوص رقمية قابلة للمعالجة.
يقدم هذا المقال شرحًا لتطبيق بسيط يستخدم مكتبة tkinter لإنشاء واجهة رسومية للرسم،
بالإضافة إلى مكتبة pytesseract للتعرف على النصوص المكتوبة بخط اليد وحل المعادلات الرياضية.
سنتناول كيف يمكن لهذا التطبيق
التعرف على المعادلات الرياضية المرسومة وحلها بطرق سهلة وسلسة، مما يفتح المجال لاستخدامات
متعددة في مجالات التعليم والهندسة والعلوم.
تم إنشاء تطبيق بسيط باستخدام
مكتبة tkinter لرسم المعادلات الرياضية على شاشة بيضاء،
ومن ثم استخدام مكتبة
pytesseract للتعرف
على النصوص الموجودة في الصورة وحل المعادلة الرياضية المكتوبة بخط اليد. سأشرح الكود
خطوة بخطوة:
استيراد المكتبات الضرورية:
يتم استيراد مكتبة tkinter لإنشاء الواجهة الرسومية، ومكتبة PIL للتعامل مع الصور، ومكتبة
pytesseract لاستخدام
تقنية التعرف الضوئي على الحروف
(OCR)،
ومكتبة numpy لمعالجة البيانات.
تهيئة مكتبة Tesseract:
يتم تحديد مسار الملف التنفيذي لتطبيق Tesseract OCR.
وظيفة التعرف على الحروف:
هذه الوظيفة تأخذ صورة وتستخدم مكتبة pytesseract للتعرف على النصوص في الصورة، وتعيد النص
المستخرج بعد إزالة المسافات الزائدة.
وظائف التعامل مع الرسم:
on_mouse_drag: تتعامل مع حركة الماوس أثناء السحب، وترسم
خطًا على اللوحة القماشية.
on_mouse_down: تحفظ إحداثيات الماوس عند الضغط على الزر
الأيسر.
on_mouse_up: لا تقوم بشيء حاليًا، لكن يمكن استخدامها
لإيقاف عملية الرسم عند رفع زر الماوس.
وظيفة معالجة المعادلة:
تقوم بأخذ الصورة المرسومة.
تقوم بتحويل الصورة إلى تدرج الرمادي.
تستخدم وظيفة التعرف على الحروف لاستخراج
النص من الصورة.
تحاول حل المعادلة المستخرجة باستخدام eval وعرض الحل في رسالة، أو عرض خطأ إذا فشلت
العملية.
إنشاء واجهة التطبيق:
يتم إنشاء نافذة رئيسية للتطبيق.
يتم إنشاء مكان للرسم.
يتم إنشاء صورة باستخدام مكتبة PIL للرسم عليها.
يتم ربط الأحداث الخاصة بالماوس (السحب، الضغط،
الرفع) بوظائف التعامل مع الرسم.
يتم إنشاء زر "solve" والذي يستدعي
وظيفة معالجة المعادلة عند الضغط عليه.
تشغيل التطبيق:
يتم تشغيل التطبيق والدخول في حلقة الأحداث
الرئيسية باستخدام
mainloop.
باختصار، هذا الكود ينشئ تطبيق رسم بسيط يمكنه
التعرف على النصوص المكتوبة بخط اليد، ومعالجة هذه النصوص كمحاولات
لحل معادلات رياضية.
للحصول على الكود كامل اضغط هنا
AHMED A. A. ALFARRA
تعليقات
إرسال تعليق