Распознавание VIN номеров
Автоматическое распознавание VIN номеров и VIN табличек
Сканирование VIN номеров всех марок и моделей автомобилей
Распознавание за 0.2 секунды на мобильном устройстве без интернета
Распознавание VIN номера на всех элементах: под стеклом, на кузове и других деталях автомобиля
Интегрированная проверка стандарта VIN номера
Надежно распознает VIN с любого ракурса
Универсальное решение для мгновенного ввода VIN
- Поддержка различных способов нанесения: выдавленные, выбитые, напечатанные
- Стабильная работа при различных условиях съемки (освещение, углы)
- Low-code интеграция в мобильные, десктопные, серверные и веб-приложения (WASM)
- Качественное распознавание как в видеопотоке, так и на отдельных фотографиях
- Нетребовательно к вычислительным ресурсам, оптимизировано для терминалов сбора данных
Возможности On-premise интеграции
- Уверенность распознавания, координаты объектов, маскирование
- Модульная структура для снижения размера библиотеки
- WASM SDK — поддержка всех современных браузеров и web движков (Chrome, Firefox, Safary, Edge, Webkit Node.js, Deno, Wasmtime, Wasmer, wasm2c)
- REST API для low-code, API на C, С++, C#, Java, Python, PHP
- Фреймворки: React Native, Flutter, интеграция с 1C
- Примеры использования Smart Code Engine на языках C/C++/C#/Java/PHP/Python
- ОС Аврора, Android, iOS, MS Windows, Linux, ОС Эльбрус, РЕД ОС, Astra Linux, ОС Атликс, ОС Альт Линукс
- х86, x86_64, ARMv7-v8-v9 (AArch32 и AArch64), MIPS (MIPS32 и MIPS64), Elbrus
CodeEngine engine = CodeEngine.CreateFromEmbeddedBundle();
CodeEngineSessionSettings settings = engine.GetDefaultSessionSettings();
settings.SetOption(jnicodeengine.toString(EngineSettingsGroup.CodeTextLine) + ".enabled", "true");
settings.SetOption(jnicodeengine.toString(EngineSettingsGroup.CodeTextLine) + ".vin.enabled", "true");
CodeEngineSession session = engine.SpawnSession(settings, <PERSONALIZED_SIGNATURE>);
Image image = Image.FromFile(<PATH_TO_IMAGE>);
CodeEngineResult result = session.Process(image);
for (CodeObjectsMapIterator it_obj = result.ObjectsBegin(); !it_obj.Equals(result.ObjectsEnd()); it_obj.Advance()) {
CodeObject code_object = it_obj.GetValue();
for (CodeFieldsMapIterator it_field = code_object.FieldsBegin(); !it_field.Equals(code_object.FieldsEnd()); it_field.Advance()) {
String name = it_field.GetValue().Name();
String value = it_field.GetValue().GetOcrString().GetFirstString().GetCStr();
}
}std::unique_ptr<se::code::CodeEngine> engine(se::code::CodeEngine::CreateFromEmbeddedBundle());
std::unique_ptr<se::code::CodeEngineSessionSettings> settings(engine->GetDefaultSessionSettings());
settings->SetOption((toString(EngineSettingsGroup::CodeTextLine) + ".enabled").c_str(), "true");
settings->SetOption((toString(EngineSettingsGroup::CodeTextLine) + ".vin.enabled").c_str(), "true");
std::unique_ptr<se::code::CodeEngineSession> session(engine->SpawnSession(*settings, <PERSONALIZED_SIGNATURE>));
std::unique_ptr<se::common::Image> image(se::common::Image::FromFile(<PATH_TO_IMAGE>));
const se::code::CodeEngineResult& result = session->Process(*image);
for (auto it_obj = result.ObjectsBegin(); it_obj != result.ObjectsEnd(); ++it_obj) {
const se::code::CodeObject &code_object = it_obj.GetValue();
for (auto it_field = code_object.FieldsBegin(); it_field != code_object.FieldsEnd(); ++it_field) {
std::string name = it_field.GetValue().Name();
std::string value = it_field.GetValue().GetOcrString().GetFirstString().GetCStr();
}
}CodeEngine engine = CodeEngine.CreateFromEmbeddedBundle();
CodeEngineSessionSettings settings = engine.GetDefaultSessionSettings();
settings.SetOption(cscodeengine.toString(EngineSettingsGroup.CodeTextLine) + ".enabled", "true");
settings.SetOption(cscodeengine.toString(EngineSettingsGroup.CodeTextLine) + ".vin.enabled", "true");
CodeEngineSession session = engine.SpawnSession(settings, <PERSONALIZED_SIGNATURE>);
Image image = Image.FromFile(<PATH_TO_IMAGE>);
CodeEngineResult result = session.Process(image);
for (CodeObjectsMapIterator it_obj = result.ObjectsBegin(); !it_obj.Equals(result.ObjectsEnd()); it_obj.Advance()) {
CodeObject code_object = it_obj.GetValue();
for (CodeFieldsMapIterator it_field = code_object.FieldsBegin(); !it_field.Equals(code_object.FieldsEnd()); it_field.Advance()) {
String name = it_field.GetValue().Name();
String value = it_field.GetValue().GetOcrString().GetFirstString().GetCStr();
}
}engine = pycodeengine.CodeEngine.CreateFromEmbeddedBundle()
settings = engine.GetDefaultSessionSettings()
settings.SetOption(pycodeengine.toString(pycodeengine.EngineSettingsGroup_CodeTextLine) + ".enabled", "true")
settings.SetOption(pycodeengine.toString(pycodeengine.EngineSettingsGroup_CodeTextLine) + ".vin.enabled", "true")
session = engine.SpawnSession(settings, <PERSONALIZED_SIGNATURE>)
image = pycodeengine.Image.FromFile(<PATH_TO_IMAGE>)
session.Process(image)
result = session.GetCurrentResult()
it_obj = result.ObjectsBegin()
while (it_obj != result.ObjectsEnd()):
code_object = it_obj.GetValue()
it_field = code_object.FieldsBegin()
while (it_field != code_object.FieldsEnd()):
name = it_field.GetValue().Name()
value = it_field.GetValue().GetOcrString().GetFirstString().GetCStr()
it_field.Advance()
it_obj.Advance()Российское ПО распознавания
Отсутствие риска утечки: работа OCR непосредственно на устройстве пользователя без передачи данных
Smart Engines – не сервис по обработке персональных данных. Мы поставляем решения, которые работают исключительно в информационном контуре Заказчика в полностью автоматическом режиме, без ручной верификации.
- Данные ваших клиентов не передаются на обработку ни нам, ни третьим лицам. Сетевое соединение не требуется
- Вся обработка ведется в локальной оперативной памяти устройств (100% on-premise)
- Не используются верификация операторами – HITL (human in the loop), crowdsourcing, mechanical turk
Компании, передающие данные своих клиентов на обработку третьим лицам, в случае утечки лишаются права ссылаться на нарушение ее прав третьими лицами и всю ответственность перед контрагентами принимают на себя.
Вы можете ознакомиться с юридическим заключением компании INTELLECT, входящей в группу самых успешных российских юридических компаний по версии международного рейтинга The Chambers Europe.
Попробуйте качество наших технологий
- Скачайте демоприложение, в котором все возможности собраны воедино
- Можно на время отключить интернет, чтобы убедиться, что изображения и ваши данные не передаются
- Извлекайте данные паспортов, удостоверений личности, банковских карт, баркодов, СТС, счетов-фактур и других деловых документов. Пробуйте распознавать оригиналы и копии при различных условиях съемки.
- Обратите внимание на высокую скорость распознавания и на измеримую вероятность точности распознавания для каждого элемента. Если SDK установлено на ваш сервер, скорость распознавания будет еще в десятки раз выше.
Заказать продукт
Для заказа решений, получения подробной информации или триал версий
заполните приведенную ниже форму, и мы обязательно с Вами свяжемся.

