Всем привет, сегодня мы поговорим о функции коррекции перекоса документов в ML Kit. HMS растет с каждым днем, и в ML Kit появляется много новых функций.

Что такое коррекция перекоса документа?

Служба коррекции перекоса документа может автоматически определять местоположение документа на изображении и регулировать угол съемки в соответствии с углом, обращенным к документу, даже если документ наклонен. Кроме того, вы можете выполнить коррекцию перекоса документа в настраиваемых граничных точках.

  • Эта услуга широко используется в повседневной жизни. Если бумажный документ нуждается в резервной копии в электронной версии, но документ на изображении наклонен, вы можете использовать эту службу для корректировки положения документа.
  • Точно так же при записи карты вы можете сфотографировать лицевую сторону карты, не глядя прямо на карту.
  • Кроме того, если дорожные знаки с обеих сторон дороги не могут быть точно идентифицированы из-за наклона во время поездки, вы можете использовать эту услугу, чтобы сфотографировать переднюю сторону дорожных знаков, чтобы облегчить путешествие.

Перед началом реализации несколько важных моментов

  • Чтобы добиться лучших эффектов, убедитесь, что камера обращена к документу, что документ занимает большую часть изображения и что границы документа находятся в видоискателе.
  • Кроме того, лучший эффект коррекции достигается при угле съемки в пределах 30 градусов. Если угол съемки больше 30 градусов, границы документа должны быть достаточно четкими, чтобы добиться лучших эффектов.
  • Поддерживаются изображения в форматах JPG, JPEG и PNG.
  • Рекомендуется, чтобы размер изображения находился в диапазоне от 320 x 320 пикселей до 1920 x 1920 пикселей.

Процесс разработки

Нам нужно выполнить некоторые шаги для интеграции Huawei ML Kit.

  1. Нам необходимо зарегистрироваться как разработчик в AppGallery Connect.
  2. Мы создаем приложение и включаем ML Kit из AppGallery Connect.
  3. После настройки в 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. Я надеюсь, что эта статья будет полезна для реализации и использования.

Благодарю вас ! ..

Для получения более подробной информации, пожалуйста, проверьте эти полезные ссылки: