Возможности распознавания
- Автоматическое распознавание печатных и рукописных номеров телефонов
- Распознавание номера телефона за 0,2 секунды
- Автоматическое заполнение платежной формы без ручного ввода
- Поддержка номеров России и стран СНГ
- Распознавание номеров с префиксами «+7», «7», «8» и без кода страны
- Распознавание номеров, записанных в одну или несколько строк
- Поиск и распознавание нескольких номеров телефонов на одном изображении
- Распознавание номеров на бумаге, картоне и под стеклом
- Автоматический поиск номера среди произвольного текста
- Распознавание данных из разных источников: сканов, фотографий и видео
- Распознавание номеров в любом ракурсе
- Работа при недостаточном и избыточном освещении
- Устойчивость к контрастным теням, бликам и низкому разрешению изображений (DPI)
- Совместное распознавание номеров телефонов, банковских карт и платежных QR-кодов
- Интеграция в мобильные, десктопные и серверные приложения
- Возможность интеграции в веб-приложения (PWA), веб-страницы и мини-приложения с помощью WebAssembly
- Локальная обработка данных без передачи изображений на внешние серверы
- Автономная работа без подключения к интернету
Возможности
интеграции
CodeEngine engine = CodeEngine.CreateFromEmbeddedBundle();
CodeEngineSessionSettings settings = engine.GetDefaultSessionSettings();
settings.SetOption(jnicodeengine.toString(EngineSettingsGroup.CodeTextLine) + ".enabled", "true");
settings.SetOption(jnicodeengine.toString(EngineSettingsGroup.CodeTextLine) + ".phone_number.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) + ".phone_number.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) + ".phone_number.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) + ".phone_number.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()
Уверенность распознавания, координаты объектов, маскирование
Модульная структура для снижения размера библиотеки
Быстрые переводы по номеру телефона
Система Smart Engines позволяет выполнять переводы по СБП без ручного ввода номера телефона получателя. Достаточно навести камеру смартфона на напечатанный или рукописный номер – искусственный интеллект распознает его за 0,2 секунды и передаст в платежную форму банковского приложения. Это ускоряет оформление перевода, упрощает взаимодействие с платежным интерфейсом и снижает риск ошибок и опечаток.
Распознавание печатных и рукописных номеров
Искусственный интеллект Smart Engines распознает печатные и рукописные номера телефонов независимо от особенностей почерка, размера и начертания цифр. Система извлекает номера, написанные на бумаге, картоне и других поверхностях, включая записи под стеклом. Технология позволяет автоматически считывать даже нестандартно оформленные номера, полностью исключая ручной ввод.
Поддержка номеров России и стран СНГ
Технология Smart Engines распознает телефонные номера России, стран СНГ и других государств с учетом национальных и международных форматов записи. Система поддерживает различные телефонные коды, включая российские номера с префиксами «+7», «7» и «8», а также любые способы разделения и группировки цифр.
Поддержка разных способов записи
Решение Smart Engines распознает телефонные номера независимо от способа их записи и расположения цифр на изображении. Система поддерживает номера, записанные в одну или несколько строк, а также номера с пробелами, скобками, дефисами и другими разделителями. Технология корректно определяет последовательность цифр и извлекает номер телефона, сохраняя его целостность даже при нестандартном форматировании.
Распознавание всех номеров в кадре
Система Smart Engines автоматически находит и распознает все присутствующие в кадре номера телефонов вне зависимости от их расположения, в том числе среди произвольной текстовой информации. Технология поддерживает сканы, фотографии и видео и возвращает координаты каждого из распознанных номеров.
Распознавание номеров в любых условиях
Решение Smart Engines обеспечивает высокоточное распознавание номеров телефонов даже при экстремальных условиях съемки. Система устойчива к неравномерному освещению, теням, бликам, перекосам и геометрическим искажениям. Технология извлекает номера с фотографий и сканов, а также в видеопотоке – независимо от положения камеры и разрешения.
Умная камера для всех способов оплаты
Технологии Smart Engines позволяют объединить распознавание телефонных номеров, платежных штрихкодов и банковских карт в едином интерфейсе банковского приложения. Пользователю достаточно навести камеру смартфона на нужные реквизиты – система автоматически извлечет платежные данные и передаст их в соответствующую форму без ручного ввода. Это упрощает переводы и оплату, сокращает количество действий пользователя и снижает риск ошибок при вводе платежных данных.
Распознавание в браузере и мессенджерах
Технология Smart Engines позволяет интегрировать распознавание номеров телефонов как в мобильное приложение, так и в веб-версию интернет-банка с помощью WebAssembly. Система работает в любом современном браузере и в мини-приложениях мессенджеров Telegram и MAX без установки дополнительных программ и расширений.
Локальная обработка данных
Система Smart Engines распознает номера телефонов в реальном времени непосредственно на устройстве пользователя без передачи изображений и извлеченных данных третьим лицам. Полностью локальная обработка обеспечивает конфиденциальность пользовательских данных и независимость от облачной инфраструктуры и внешних серверов.
Отсутствие риска утечки:
Попробуйте качество наших технологий
- Скачайте мобильное демо-приложение, в котором все возможности собраны воедино
- Можно на время отключить интернет, чтобы убедиться, что изображения и ваши данные не передаются
- Попробуйте наше программное решение на примере QR/штрихкода, банковской карты, номера телефона и других объектов
Заказать продукт
Часто задаваемые вопросы
Наведите камеру смартфона на напечатанный или написанный от руки номер телефона. Система Smart Engines распознает его за 0,2 секунды и автоматически передаст в платежную форму банковского приложения. Вводить номер получателя вручную не нужно.
Номер телефона распознается за 0,2 секунды прямо на устройстве пользователя. Достаточно навести камеру смартфона на номер, и ИИ сразу передаст его в платежную форму банковского приложения. Это позволяет ускорить оформление перевода по СБП и снизить риск ошибок и опечаток.
Да. Система распознает как печатные, так и рукописные номера независимо от особенностей почерка, размера и начертания цифр. Считываются даже номера телефонов с нестандартным оформлением, а также номера с пробелами, скобками, дефисами и другими разделителями.
Номера считываются с бумаги, картона и других поверхностей, в том числе под стеклом. Например, номер можно отсканировать с таблички на прилавке или с объявления за стеклом витрины. Система устойчива к бликам, теням и неравномерному освещению, поэтому стекло и отражения не мешают распознаванию.
Поддерживаются номера России, стран СНГ и других государств, включая номера с префиксами «+7», «7», «8» и без кода страны. Номер может быть записан в одну или несколько строк, с пробелами, скобками, дефисами и другими разделителями.
Да. Система находит и распознает все номера телефонов в кадре, в том числе среди произвольного текста. Решение поддерживает сканы, фотографии и видео и возвращает координаты каждого из распознанных номеров.
Да. Система устойчива к недостаточному и избыточному освещению, теням, бликам, перекосам, геометрическим искажениям и низкому разрешению изображений. Номер распознается даже при экстремальных ракурсах съемки.
Да. Номера телефонов извлекаются из фотографий, сканов и видеопотока. В режиме видео номер распознается в реальном времени, как только пользователь наводит камеру смартфона. Система находит все номера в кадре, даже среди произвольного текста, и возвращает координаты каждого из них.
Да. Технологии Smart Engines позволяют объединить распознавание номеров телефонов, банковских карт и платежных кодов в едином интерфейсе банковского приложения. Платежные данные автоматически передаются в нужную форму без ручного ввода – это упрощает переводы и оплату, а также сокращает количество действий пользователя.
Да. С помощью WebAssembly распознавание встраивается в веб-версию интернет-банка, PWA и веб-страницы. Чтение номера телефона возможно в любом современном браузере и в мини-приложениях Telegram и MAX без установки дополнительных программ и расширений.
Нет. Распознавание выполняется локально на устройстве пользователя, без передачи изображений и извлеченных данных третьим лицам. Подключение к интернету не требуется.
Распознавание номеров телефонов встраивается в мобильные, десктопные и серверные приложения, а также в веб-приложения (PWA), веб-страницы и мини-приложения мессенджеров.