Используйте возможности машинного обучения в своих приложениях
Пролог
Сегодня я решил серьезно начать изучать и улучшать свои навыки работы с Jetpack Compose, поэтому я задумался над идеей для простого проекта, который охватывает некоторые интересные темы и все основные моменты, связанные с пользовательским интерфейсом.
Итак, наконец, я подумал о возможности машинного обучения, их много, использование камеры, текст для отображения и редактирования, меню, кнопки и так далее.
Так родился ML Composer!
Распознавание текста
Сервис распознавания текста умеет извлекать текст из изображений чеков, визитных карточек и документов. Эта услуга полезна для таких отраслей, как полиграфия, образование и логистика. Вы можете использовать его для создания приложений, которые обрабатывают задачи ввода данных и проверки. Подробнее здесь.
Проект
Как запустить его на устройстве Android? Просто следуйте этому руководству по подготовке.
UI
Да, составляющая часть!
У нас есть 2 составных элемента:
- Управление разрешениями камеры с правильным макетом и состоянием с помощью Compose
- Скрин с превью камеры (CameraX из библиотек Jetpack), с кнопкой внизу и круговым прогрессом в центре экрана.
- Циклический прогресс управляется с помощью
MutableState
из самого Compose, расположенного вviewmodel
,TextRecognitionViewModel
.
- Экран с выводом сканирования распознавания текста:
NavHostController
для перехода между экранами:
setContent { val navController = rememberNavController() NavHost(navController, startDestination = NAV_MAIN) { composable(NAV_MAIN) { BuildCameraUI() } composable(NAV_TEXTRECOG) { BindTextRecognitionOutput() } } }
ViewModel
Я решил использовать ViewModel, чтобы сохранить все части распознавания текста с его способностями и состояниями.
Используя LiveData для вывода (успех и неудача), я запускаю события из Activity, которое его наблюдает.
Результат
Оставайтесь с нами для следующего эпизода с еще одной потрясающей суперсилой машинного обучения!!!
Want to Connect? Follow me on Twitter (frankStrangerZ)