Free C++ OCR API for Automatic License Plate Recognition
OpenALPR is a Leading Open Source C++ OCR Library that Enables Software Developers to Embed Automatic License Plate Recognition and Vehicle Recognition into Their Own C++ Apps.
ما هو OpenALPR؟
OpenALPR هي مكتبة مفتوحة المصدر قوية للتعرف التلقائي على لوحات الترخيص (ALPR) صُممت لاكتشاف وقراءة لوحات ترخيص المركبات من الصور والفيديوهات. تم بناء المكتبة باستخدام C++ وتستفيد من تقنية OCR (التعرف الضوئي على الأحرف) عبر Tesseract، مما يتيح لمطوري البرمجيات دمج قدرات التعرف على المركبات في تطبيقات لأتمتة مواقف السيارات، أنظمة الأمن، بوابات الرسوم، وبنية المدن الذكية. تشمل المكتبة ميزات متعددة متعلقة بعمليات OCR، مثل التعرف على اللوحات من الصور والفيديو، التعرف على اللوحات من تدفقات الكاميرات الحية، دعم قوالب اللوحات الخاصة بالمناطق، التكامل مع تطبيقات مخصصة، والعديد غير ذلك.
OpenALPR حل مرن للغاية مع ربطات للغات برمجة شائعة أخرى مثل C#، Java، وPython، مما يجعله متاحًا لمجموعة واسعة من المطورين. تتوفر المكتبة بنسختين: نسخة مفتوحة المصدر ونسخة تجارية، وتُعد النسخة المفتوحة المصدر خيارًا شائعًا للمطورين والهواة الذين يرغبون في تجربة تقنية ALPR. صُممت المكتبة لتكون متعددة الأنظمة ويمكن تجميعها وتشغيلها على Linux وWindows وmacOS. سواء كنت تبني نظام رسوم، أتمتة مواقف، أو منصة مراقبة مرورية، يوفر OpenALPR أساسًا موثوقًا للتعرف على اللوحات بدقة—كل ذلك دون الحاجة إلى الاعتماد على خدمات سحابية.
البدء مع OpenALPR
الطريقة الموصى بها لتثبيت OpenALPR هي عبر GitHub. يرجى استخدام الأمر التالي لتثبيت سلس.
تثبيت واجهة OpenALPR عبر GitHub
git clone https://github.com/openalpr/openalpr.git تثبيت واجهة OpenALPR عبر CMake
# Build with CMake
mkdir build
cd build
cmake ..
make
sudo make install
يمكنك أيضًا تثبيتها يدويًا؛ حمّل أحدث ملفات الإصدار مباشرة من مستودع GitHub.
التعرف على لوحة الترخيص من صورة عبر واجهة C++ API
توفر مكتبة OpenALPR المفتوحة المصدر دعمًا كاملاً لإنشاء نظام التعرف التلقائي على لوحات الترخيص الذي يستخدم OCR والرؤية الحاسوبية لقراءة لوحات تسجيل المركبات من الصور وتدفقات الفيديو. يمكن لمطوري البرمجيات استخدام صور ثابتة أو إطارات في الوقت الحقيقي من كاميرا باستخدام OpenCV. يوضح المقتطف البرمجي التالي سير العمل الأساسي لاستخدام مكتبة OpenALPR بلغة C++. يقوم بتهيئة المكتبة، يتعرف على لوحة الترخيص من ملف صورة، ثم يطبع النتائج مع درجات الثقة الخاصة بها.
كيف يتم اكتشاف لوحات الترخيص من صورة باستخدام واجهة C++ API؟
from openalpr import Alpr
alpr = Alpr("us", "/path/to/openalpr.conf", "/path/to/runtime_data")
if not alpr.is_loaded():
print("Error loading OpenALPR")
sys.exit(1)
results = alpr.recognize_file("/path/to/image.jpg")
i = 0
for plate in results['results']:
i += 1
print("Plate #%d" % i)
print(" %12s %12s" % ("Plate", "Confidence"))
for candidate in plate['candidates']:
prefix = "-"
if candidate['matches_template']:
prefix = "*"
print(" %s %12s%12f" % (prefix, candidate['plate'], candidate['confidence']))
# Call when completely done to release memory
alpr.unload()
المعالجة في الوقت الحقيقي والتعرف على المركبة عبر C++
تم تحسين مكتبة OpenALPR المفتوحة المصدر للأداء ويمكنها معالجة تدفقات الفيديو في الوقت الحقيقي، مما يجعلها مناسبة للتطبيقات التي تتطلب استجابة فورية. إلى جانب قراءة لوحات الترخيص، يمكن للمكتبة أيضًا تحديد الصنع، الطراز، ولون المركبة، مما يوفر مجموعة بيانات أكثر شمولًا للتحليل.
دعم التعرف حسب الدولة
تتضمن مكتبة OpenALPR دعمًا لتحميل والتعرف على لوحات الترخيص الخاصة بالدول داخل تطبيقات C++. تشمل المكتبة لوحات أكثر من 60 دولة، ويمكنها حتى تحديد الولاية الصادرة لجميع الولايات الأمريكية الخمسين، بالإضافة إلى كندا والمكسيك.