API за разпознаване на регистрационни номера (ALPR / ANPR) Online
В сравнение с V1: нови параметри regions, camera_id, timestamp, config, threshold, mode
Прочита регистрационните номера на снимка на превозно средство. Изпратете POST с едно изображение (JPEG, PNG, WebP, BMP или TIFF, макс. 8 MB) като JSON тяло с image_url или image_base64, като качване multipart/form-data в полето "image", или като суровите байтове със заглавка Content-Type image/*. Всеки намерен номер се връща с текста, оценка 0-1, алтернативни разчитания, рамката на номера в пиксели и оценката на откриването. Енджинът е наш собствен детектор и четец на номера, настроен за европейски камиони и автобуси. Изображенията се обработват в паметта и никога не се съхраняват. image_url трябва да е публичен http(s) адрес; частните и вътрешните адреси, както и пренасочванията към тях, се отказват, а изтеглянето се прекратява след 10 секунди.
POST https://nakordoni.eu/api/v4/data/plate-recognition
— клас квота: heavy
| Параметър | Описание |
|---|---|
image_url | (JSON тяло) Публичен http(s) URL адрес на изображението. Макс. 8 MB, макс. 3 пренасочвания, лимит на изтегляне 10 s. |
image_base64 | (JSON тяло) Изображението като base64 (позволен е и префиксът data:image/...;base64,). Изпратете image_url или image_base64, не и двете. |
regions | По избор. Държавите, които очаквате, като ISO 3166-1 alpha-2 кодове: JSON масив ["PL","DE"] или низ, разделен със запетаи, "PL,DE" (multipart поле или параметър в заявката). До 10. Предположението за региона и редът на разчитане се изместват към тези държави: когато най-добрият резултат не съвпада с формата на нито една посочена държава, но друг кандидат с най-много 0.15 по-нисък score съвпада, този кандидат става номерът. Номер, който не съвпада с нито една посочена държава, запазва обичайния си отговор. |
camera_id | По избор. ID на вашата камера или бариера, до 128 знака. Връща се непроменено в data.camera_id. Не се съхранява извън обичайния журнал на заявките. |
timestamp | По избор. Времето на заснемане във ваш формат (например 2026-10-27T14:05:00Z), до 64 знака. Връща се непроменено в data.timestamp. Не се съхранява извън обичайния журнал на заявките. |
config | По избор. JSON обект {"threshold": 0-1, "mode": "fast"|"full"}. В multipart форма или в query низ го изпратете като JSON низ или използвайте полетата threshold и mode. |
threshold | По избор, същото като config.threshold. Резултатите със score под тази стойност (0-1) се пропускат. Когато не остане нито един, отговорът е 404 no_plate_detected. |
mode | По избор, същото като config.mode. full (по подразбиране) извършва разпознаване на номера и откриване на превозно средство. fast пропуска откриването на превозно средство за скорост като при v2: region пак се попълва, vehicle е null. |
Полета на отговора — вътре в обекта data в плика на отговора. [] означава списък, така че data.items[].name е полето name на всеки елемент. Поле може да е null, да липсва или да е празен списък, когато нямаме стойност — никога не подставяме заместител.
| Поле | Описание |
|---|---|
data.success | true, когато е прочетен поне един номер; data.message казва колко. |
data.processing_time | Времето за заявката в милисекунди (изтегляне, разпознаване на номера и откриване на превозно средство). v4 отнема повече време от v2 заради откриването на превозно средство, обикновено 0.5-1.5 s на изображение. При config.mode=fast няма откриване на превозно средство и времето е близко до v2. |
data.camera_id | Изпратеният от вас camera_id, непроменен. Присъства само ако сте го изпратили. |
data.timestamp | Изпратеният от вас timestamp, непроменен (низът остава низ, числото остава число). Присъства само ако сте го изпратили. |
data.results[] | Един запис на номер, първо с най-висока оценка на откриването. |
data.results[].plate | Текст на номера, с главни букви, само букви A-Z и цифри (без интервали и тирета). |
data.results[].score | Достоверност на разчитането 0-1 (средно от достоверностите на отделните знаци). |
data.results[].candidates[] | До 5 разчитания {plate, score}, най-доброто първо; първото е номерът. |
data.results[].region | {code, score}: code е страната на номера по ISO 3166-1 alpha-2 (например UA, PL, RO), определена от формата на номера. score 0-1 е достоверността на разчитането, умножена по степента на специфичност на формата; когато един и същ формат се използва в няколко страни (например LT, MD и HU споделят ABC123), оценката се разпределя между тях и е ниска. null, когато текстът не съвпада с известен формат. Покрити: UA, BG, BY, RO, ES, CZ, BE, EE, HU, TR, PL, SK, LV, LT, MD, IT, FR, RS, DE. |
data.results[].box | Позиция на номера в пиксели: xmin, ymin, xmax, ymax. |
data.results[].dscore | Достоверност на откриването на номера 0-1. |
data.results[].vehicle | {type, score, box}: превозното средство, което носи номера. type е car, bus, truck или motorcycle; score е увереността на откриването 0-1; box е позицията на превозното средство в пиксели (xmin, ymin, xmax, ymax). Туристически автобуси, гледани отпред, и миниавтобуси или ванове могат да получат тип truck (детекторът няма клас ван). null, когато никое открито превозно средство не съдържа номера, и винаги null при config.mode=fast. |
error.code | 400: image_required, bad_json, bad_base64, one_image_only, bad_image_url, image_url_not_allowed, image_url_fetch_failed, image_url_timeout, invalid_image, unsupported_image_type, unsupported_content_type, upload_failed, bad_regions, bad_camera_id, bad_timestamp, bad_config, bad_threshold, bad_mode. 404: no_plate_detected (също когато config.threshold не оставя резултат). 413: payload_too_large. 500: engine_error. |
curl -X POST "https://nakordoni.eu/api/v4/data/plate-recognition" \
-H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX" \
-H "Content-Type: application/json" \
-d '{
"image_url": "https://nakordoni.eu/img/developers/plate-recognition-example-bus.jpg",
"regions": [
"UA"
],
"camera_id": "depot-gate-1",
"timestamp": "2026-10-27T14:05:00Z",
"config": {
"threshold": 0.8
}
}'
Разпознаване на регистрационни номера (ANPR / ALPR) за европейски превозни средства
Plate Image Recognition API е услуга за разпознаване на регистрационни номера (LPR): изпращате снимка и получавате текста на номера като JSON. Това е наш собствен ANPR / ALPR двигател, настроен върху камиони и автобуси на гранични пунктове и в автобусни депа. Чете и номера на леки автомобили и мотоциклети.
Версия v4 добавя държавата на номера и типа превозно средство (car, bus, truck или motorcycle). Приема и незадължителни опции на заявката: regions, за да изместите резултата към очакваните държави; camera_id и timestamp, които се връщат в отговора; праг на score; и бърз режим.
GDPR по дизайн: API се хоства в ЕС, а всяко изображение се обработва само в паметта и никога не се съхранява. Никоя външна услуга за разпознаване на изображения не вижда вашите снимки.
Интеграции: Home Assistant
Нашата интеграция с отворен код за Home Assistant (лиценз MIT, инсталира се с HACS) чете регистрационни номера от камерите ви в Home Assistant. Тя дава сензор и събитие за всеки номер, с държавата на номера и типа превозно средство. Поддържа Frigate: при събитие за превозно средство чете снимката и записва номера обратно във Frigate като подетикет. Влизането е през OAuth, така че всеки потребител получава собствен безплатен ключ.
Обновено