API OCR رایگان C++ برای تشخیص خودکار پلاک خودرو
OpenALPR یک کتابخانه پیشرو OCR منبع باز C++ است که به توسعهدهندگان نرمافزار امکان میدهد تشخیص خودکار پلاک خودرو و شناسایی وسایل نقلیه را در برنامههای C++ خود ادغام کنند.
OpenALPR چیست؟
OpenALPR یک کتابخانه منبع باز قدرتمند برای تشخیص خودکار پلاک خودرو (ALPR) است که برای شناسایی و خواندن پلاک وسایل نقلیه از تصاویر و ویدئوها طراحی شده است. این کتابخانه با استفاده از C++ ساخته شده و با بهرهگیری از OCR (تشخیص نوری کاراکتر) از طریق Tesseract، به توسعهدهندگان نرمافزار امکان میدهد قابلیتهای شناسایی وسایل نقلیه را در برنامههای خود برای خودکارسازی پارکینگ، سیستمهای امنیتی، ایستگاههای عوارض و زیرساختهای شهر هوشمند ادغام کنند. این کتابخانه شامل ویژگیهای متنوعی مرتبط با عملیات OCR است، از جمله تشخیص پلاکها از تصاویر و ویدئوها، تشخیص پلاکها از جریانهای زنده دوربین، پشتیبانی از قالبهای مخصوص به هر منطقه، ادغام در برنامههای سفارشی و بسیاری موارد دیگر.
OpenALPR یک راهحل بسیار انعطافپذیر با بایندینگ برای زبانهای برنامهنویسی محبوب دیگر مانند C#، Java و Python است که دسترسی آن را برای دامنه وسیعی از توسعهدهندگان فراهم میکند. این کتابخانه به صورت منبع باز و همچنین نسخه تجاری در دسترس است و نسخه منبع باز بهویژه برای توسعهدهندگان نرمافزار و علاقهمندان که میخواهند با فناوری ALPR آزمایش کنند، محبوب است. این کتابخانه بهصورت کراس‑پلتفرم طراحی شده و میتواند بر روی Linux، Windows و macOS کامپایل و اجرا شود. چه در حال ساخت یک سیستم عوارض، خودکارسازی پارکینگ یا پلتفرم نظارت بر ترافیک باشید، OpenALPR پایهای قابل اعتماد برای تشخیص دقیق پلاکها فراهم میکند—همه اینها بدون نیاز به وابستگیهای ابری.
شروع کار با OpenALPR
روش پیشنهادی برای نصب OpenALPR استفاده از GitHub است. لطفاً برای نصب آسان از دستور زیر استفاده کنید.
نصب API OpenALPR از طریق GitHub
git clone https://github.com/openalpr/openalpr.git نصب API OpenALPR از طریق CMake
# Build with CMake
mkdir build
cd build
cmake ..
make
sudo make install
میتوانید همچنین بهصورت دستی نصب کنید؛ فایلهای آخرین نسخه را مستقیماً از GitHub دریافت کنید.
تشخیص پلاک خودرو از یک تصویر با استفاده از API C++
کتابخانه منبع باز OpenALPR پشتیبانی کامل برای ایجاد سیستم تشخیص خودکار پلاک خودرو را فراهم میکند که با استفاده از OCR و بینایی ماشین، پلاکهای ثبت وسایل نقلیه را از تصاویر و جریانهای ویدئویی میخواند. توسعهدهندگان میتوانند از تصاویر ثابت یا فریمهای زمان واقعی دوربین با OpenCV استفاده کنند. قطعه کد زیر جریان کاری پایه استفاده از کتابخانه C++ OpenALPR را نشان میدهد. این کد کتابخانه را مقداردهی اولیه میکند، پلاک را از یک فایل تصویر تشخیص میدهد و سپس نتایج همراه با امتیازهای اطمینان آنها را چاپ میکند.
چگونه پلاک خودرو را از یک تصویر با استفاده از API C++ تشخیص دهیم؟
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 میتواند همچنین سازنده، مدل و رنگ وسیله نقلیه را شناسایی کند و مجموعهای کاملتر از دادهها را برای تجزیه و تحلیل فراهم آورد.
پشتیبانی از تشخیص مخصوص به کشور
کتابخانه OpenALPR پشتیبانی از بارگذاری و تشخیص پلاکهای مخصوص به هر کشور را در برنامههای C++ گنجانده است. این کتابخانه بیش از ۶۰ کشور را پوشش میدهد و حتی میتواند ایالت صادرکننده را برای تمام ۵۰ ایالت ایالات متحده، همچنین برای کانادا و مکزیک شناسایی کند.