Всем привет, сегодня мы поговорим о функции коррекции перекоса документов в ML Kit. HMS растет с каждым днем, и в ML Kit появляется много новых функций.
Что такое коррекция перекоса документа?
Служба коррекции перекоса документа может автоматически определять местоположение документа на изображении и регулировать угол съемки в соответствии с углом, обращенным к документу, даже если документ наклонен. Кроме того, вы можете выполнить коррекцию перекоса документа в настраиваемых граничных точках.
- Эта услуга широко используется в повседневной жизни. Если бумажный документ нуждается в резервной копии в электронной версии, но документ на изображении наклонен, вы можете использовать эту службу для корректировки положения документа.
- Точно так же при записи карты вы можете сфотографировать лицевую сторону карты, не глядя прямо на карту.
- Кроме того, если дорожные знаки с обеих сторон дороги не могут быть точно идентифицированы из-за наклона во время поездки, вы можете использовать эту услугу, чтобы сфотографировать переднюю сторону дорожных знаков, чтобы облегчить путешествие.
Перед началом реализации несколько важных моментов
- Чтобы добиться лучших эффектов, убедитесь, что камера обращена к документу, что документ занимает большую часть изображения и что границы документа находятся в видоискателе.
- Кроме того, лучший эффект коррекции достигается при угле съемки в пределах 30 градусов. Если угол съемки больше 30 градусов, границы документа должны быть достаточно четкими, чтобы добиться лучших эффектов.
- Поддерживаются изображения в форматах JPG, JPEG и PNG.
- Рекомендуется, чтобы размер изображения находился в диапазоне от 320 x 320 пикселей до 1920 x 1920 пикселей.
Процесс разработки
Нам нужно выполнить некоторые шаги для интеграции Huawei ML Kit.
- Нам необходимо зарегистрироваться как разработчик в AppGallery Connect.
- Мы создаем приложение и включаем ML Kit из AppGallery Connect.
- После настройки в AppGallery Connect давайте интегрируем Huawei ML Kit в наше демонстрационное приложение.
а. Нам нужно получить файл agconnect-services.json для конфигураций из AppGallery Connect. Затем мы добавляем его на уровень проекта нашего приложения в папке приложения.
б. После этого нам нужно добавить зависимости в файлы gradle.
Наконец, мы добавляем метаданные в AndroidManifest.xml для исправления перекоса документа.
Приступим к кодированию!
У нас есть действие под названием DocumentSkewCorrectionActivity. В его макете есть кнопка для получения изображения документа из памяти устройства. Он отправляет изображение в sdk для исправления перекоса документа для более правильного положения изображения нашего документа. Давай проверим.
Создаем кнопку для выбора изображения документа из хранилища. Во-первых, мы проверяем необходимые разрешения. Затем мы запускаем событие кнопкой. Например, мы выбираем вариант использования с выбором изображения из хранилища. После получения необходимых разрешений мы вызвали метод startActivityForResult (). В методе onActivityResult () мы получаем изображение из хранилища в виде растрового изображения, затем вызываем метод performDocumentSkewCorrection () с растровым изображением. Нам нужно определить точки, а затем исправить эти точки для исправленного изображения.
В методе performDocumentSkewCorrection мы устанавливаем параметры с помощью MLDocumentSkewCorrectionAnalyzerSetting (). После задания настроек создаем анализатор со значением настроек. Затем мы устанавливаем кадр с растровым изображением. Создаем задачу на обнаружение документа MLDocumentSkewDetectResult. Результат задания имеет позиции изображения документа. Когда мы получили позиции, мы создаем изменяемый список для координат. После этого мы создаем объект MLDocumentSkewCorrectionCoordinateInput с координатами точки, имя которого --ordinData. Итак, определяем точки. Теперь отправляем точки на обнаружение. Создаем новую задачу для исправления документа MLDocumentSkewCorrectionResult. У нас есть функции прослушивания для успехов и неудач. В addOnSuccessListener мы устанавливаем изображение документа с исправленным документом.
Наконец, мы завершили демонстрационное приложение об использовании коррекции перекоса документа с помощью Huawei ML Kit. Я надеюсь, что эта статья будет полезна для реализации и использования.
Благодарю вас ! ..
Для получения более подробной информации, пожалуйста, проверьте эти полезные ссылки: