Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
EasyOCR — أداة OCR جاهزة للاستخدام تدعم أكثر من 80 لغة وجميع أنظمة الكتابة الشائعة بما في ذلك اللاتينية والصينية والعربية والديفاناغارية والسيريلية وغيرها. | Kitploit
أدوات/GitHubGitHub/jaidedai/easyocr
أدوات عامةالبرمجة النصية والأتمتةتعلم الآلة
GitHubjaidedai/easyocr

EasyOCR

أداة OCR جاهزة للاستخدام تدعم أكثر من 80 لغة وجميع أنظمة الكتابة الشائعة بما في ذلك اللاتينية والصينية والعربية والديفاناغارية والسيريلية وغيرها.

عرض المستودعالموقع الإلكتروني
29.9k3.6kمنذ 8 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

EasyOCR

PyPI Status license Tweet Twitter

OCR جاهز للاستخدام مع أكثر من 80 لغة مدعومة وجميع أنظمة الكتابة الشائعة بما في ذلك: اللاتينية، الصينية، العربية، الديفاناغارية، السيريلية، إلخ.

جرّب العرض التجريبي على موقعنا

مدمج في Huggingface Spaces 🤗 باستخدام Gradio. جرّب العرض التجريبي على الويب: Hugging Face Spaces

ما الجديد

  • 24 سبتمبر 2024 - الإصدار 1.7.2

    • إصلاح العديد من مشكلات التوافق
  • اقرأ جميع ملاحظات الإصدار

ما هو القادم

  • دعم النصوص المكتوبة بخط اليد

أمثلة

example

example2

example3

التثبيت

التثبيت باستخدام pip

للإصدار الثابت الأحدث:

root@kitploit:~
pip install easyocr

للإصدار التطويري الأحدث:

root@kitploit:~
pip install git+https://github.com/JaidedAI/EasyOCR.git

ملاحظة 1: بالنسبة لنظام Windows، يرجى تثبيت torch و torchvision أولاً باتباع التعليمات الرسمية هنا https://pytorch.org. على موقع pytorch، تأكد من تحديد إصدار CUDA الصحيح الذي لديك. إذا كنت تنوي التشغيل في وضع CPU فقط، فحدد CUDA = None.

ملاحظة 2: نوفر أيضًا Dockerfile هنا.

الاستخدام

root@kitploit:~
import easyocr
reader = easyocr.Reader(['ch_sim','en']) # this needs to run only once to load the model into memory
result = reader.readtext('chinese.jpg')

سيكون الناتج بتنسيق قائمة، حيث يمثل كل عنصر صندوقًا محيطًا، والنص المكتشف، ومستوى الثقة، على التوالي.

root@kitploit:~
[([[189, 75], [469, 75], [469, 165], [189, 165]], '愚园路', 0.3754989504814148),
 ([[86, 80], [134, 80], [134, 128], [86, 128]], '西', 0.40452659130096436),
 ([[517, 81], [565, 81], [565, 123], [517, 123]], '东', 0.9989598989486694),
 ([[78, 126], [136, 126], [136, 156], [78, 156]], '315', 0.8125889301300049),
 ([[514, 126], [574, 126], [574, 156], [514, 156]], '309', 0.4971577227115631),
 ([[226, 170], [414, 170], [414, 220], [226, 220]], 'Yuyuan Rd.', 0.8261902332305908),
 ([[79, 173], [125, 173], [125, 213], [79, 213]], 'W', 0.9848111271858215),
 ([[529, 173], [569, 173], [569, 213], [529, 213]], 'E', 0.8405593633651733)]

ملاحظة 1: ['ch_sim','en'] هو قائمة اللغات التي تريد قراءتها. يمكنك تمرير عدة لغات في وقت واحد ولكن لا يمكن استخدام جميع اللغات معًا. اللغة الإنجليزية متوافقة مع كل لغة، واللغات التي تشترك في أحرف مشتركة عادة ما تكون متوافقة مع بعضها البعض.

ملاحظة 2: بدلاً من مسار الملف chinese.jpg، يمكنك أيضًا تمرير كائن صورة OpenCV (مصفوفة numpy) أو ملف صورة كبايتات. كما أن رابط URL لصورة خام مقبول أيضًا.

ملاحظة 3: السطر reader = easyocr.Reader(['ch_sim','en']) مخصص لتحميل نموذج إلى الذاكرة. يستغرق بعض الوقت ولكنه يحتاج إلى التشغيل مرة واحدة فقط.

يمكنك أيضًا تعيين detail=0 للحصول على ناتج أبسط.

root@kitploit:~
reader.readtext('chinese.jpg', detail = 0)

النتيجة:

root@kitploit:~
['愚园路', '西', '东', '315', '309', 'Yuyuan Rd.', 'W', 'E']

سيتم تنزيل أوزان النموذج للغة المحددة تلقائيًا، أو يمكنك تنزيلها يدويًا من مركز النماذج ووضعها في مجلد '~/.EasyOCR/model'

إذا لم يكن لديك GPU، أو كانت ذاكرة GPU منخفضة، يمكنك تشغيل النموذج في وضع CPU فقط بإضافة gpu=False.

root@kitploit:~
reader = easyocr.Reader(['ch_sim','en'], gpu=False)

لمزيد من المعلومات، اقرأ البرنامج التعليمي ووثائق API.

التشغيل من سطر الأوامر

root@kitploit:~
$ easyocr -l ch_sim en -f chinese.jpg --detail=1 --gpu=True

تدريب/استخدام نموذجك الخاص

بالنسبة لنموذج التعرف، اقرأ هنا.

بالنسبة لنموذج الكشف (CRAFT)، اقرأ هنا.

خارطة طريق التنفيذ

  • دعم الكتابة اليدوية
  • إعادة هيكلة الكود لدعم خوارزميات الكشف والتعرف القابلة للتبديل يجب أن تكون API بهذه السهولة:
root@kitploit:~
reader = easyocr.Reader(['en'], detection='DB', recognition = 'Transformer')

الفكرة هي أن نتمكن من توصيل أي نموذج حديث (state-of-the-art) في EasyOCR. هناك الكثير من العباقرة يحاولون صنع نماذج كشف/تعرف أفضل، لكننا لا نحاول أن نكون عباقرة هنا. نريد فقط أن نجعل أعمالهم متاحة للجمهور بسرعة ... مجانًا. (حسنًا، نعتقد أن معظم العباقرة يريدون أن يُحدث عملهم تأثيرًا إيجابيًا بأسرع/أكبر قدر ممكن) يجب أن تكون خطوة المعالجة (pipeline) شيئًا مثل المخطط أدناه. الفتحات الرمادية هي عناصر نائبة لوحدات زرقاء فاتحة قابلة للتغيير.

plan

الإقرار والمراجع

يعتمد هذا المشروع على أبحاث وأكواد من عدة أوراق بحثية ومستودعات مفتوحة المصدر.

يعتمد تنفيذ جميع عمليات التعلم العميق على Pytorch. ❤️

تنفيذ الكشف يستخدم خوارزمية CRAFT من المستودع الرسمي هذا وورقتهم البحثية (شكرًا @YoungminBaek من @clovaai). كما نستخدم نموذجهم المُدرَّب مسبقًا. سكربت التدريب مقدم من @gmuffiness.

نموذج التعرف هو CRNN (الورقة). يتكون من 3 مكونات رئيسية: استخراج الميزات (نستخدم حاليًا Resnet) و VGG، ووضع العلامات على التسلسل (LSTM) وفك التشفير (CTC). خط معالجة التدريب لتنفيذ التعرف هو نسخة معدلة من إطار deep-text-recognition-benchmark. (شكرًا @ku21fan من @clovaai) هذا المستودع جوهرة تستحق المزيد من التقدير.

كود بحث الشعاع (Beam search) مبني على هذا المستودع ومدونته. (شكرًا @githubharald)

توليف البيانات مبني على TextRecognitionDataGenerator. (شكرًا @Belval)

وأيضًا قراءة جيدة حول CTC من distill.pub هنا.

هل تريد المساهمة؟

لنقدم الإنسانية معًا من خلال جعل الذكاء الاصطناعي متاحًا للجميع!

ثلاث طرق للمساهمة:

مطوّر البرامج: يرجى إرسال Pull Request (PR) للأخطاء/التحسينات الصغيرة. أما بالنسبة للأكبر، فناقشنا معنا بفتح Issue أولاً. هناك قائمة بالمسائل المحتملة للأخطاء/التحسينات موسومة بـ 'PR WELCOME'.

مستخدم: أخبرنا كيف يفيدك EasyOCR أو يفيد مؤسستك لتشجيع المزيد من التطوير. وانشر أيضًا حالات الفشل في قسم المسائل للمساعدة في تحسين النماذج المستقبلية.

قائد تقني/خبير: إذا وجدت هذه المكتبة مفيدة، فيرجى نشر الخبر! (انظر منشور Yann Lecun عن EasyOCR)

إرشادات لطلب لغة جديدة

لطلب لغة جديدة، نحتاج منك إرسال PR مع الملفين التاليين:

  1. في مجلد easyocr/character، نحتاج إلى 'yourlanguagecode_char.txt' الذي يحتوي على قائمة بجميع الأحرف. يرجى الاطلاع على أمثلة التنسيق من الملفات الأخرى في ذلك المجلد.
  2. في مجلد easyocr/dict، نحتاج إلى 'yourlanguagecode.txt' الذي يحتوي على قائمة كلمات لغتك. في المتوسط، لدينا حوالي 30000 كلمة لكل لغة، مع أكثر من 50000 كلمة للغات الأكثر شيوعًا. الأكثر أفضل في هذا الملف.

إذا كانت لغتك تحتوي على عناصر فريدة (مثل 1. العربية: تتغير أشكال الأحرف عند ارتباطها ببعضها + الكتابة من اليمين إلى اليسار 2. التايلاندية: بعض الأحرف يجب أن تكون فوق السطر وبعضها تحته)، فيرجى تثقيفنا بأفضل ما تستطيع و/أو إعطائنا روابط مفيدة. من المهم الاهتمام بالتفاصيل لتحقيق نظام يعمل فعلاً.

أخيرًا، يرجى تفهم أن أولويتنا ستكون للغات الشائعة أو مجموعات اللغات التي تتشارك أجزاء كبيرة من أحرفها مع بعضها البعض (أخبرنا أيضًا إذا كان هذا هو الحال للغتك). يستغرق تطوير نموذج جديد أسبوعًا على الأقل، لذا قد تضطر إلى الانتظار قليلاً حتى يتم إصدار النموذج الجديد.

انظر قائمة اللغات قيد التطوير

مسائل GitHub

نظرًا للموارد المحدودة، سيتم إغلاق أي مسألة (Issue) أقدم من 6 أشهر تلقائيًا. يرجى فتح مسألة مرة أخرى إذا كانت حرجة.

استفسارات الأعمال

لدعم المؤسسات، تقدم Jaided AI خدمة كاملة لأنظمة OCR/AI المخصصة بدءًا من التنفيذ، والتدريب/الضبط الدقيق، ووصولاً إلى النشر. انقر هنا للتواصل معنا.

تنزيل الأداة