Всем привет, сегодня мы поговорим о функции обнаружения сцен в ML Kit. Huawei поддерживает так много функций с помощью Machine Learning Kit. Он растет с каждым днем ​​и поставляется с новыми функциями ML Kit.

Что такое служба обнаружения сцен?

Служба обнаружения сцен может классифицировать содержимое сценария изображений и добавлять метки, такие как внешний вид, внутренние помещения и здания, чтобы помочь понять содержимое изображения. Основываясь на обнаруженной информации, вы можете создать более персонализированное приложение для пользователей. В настоящее время поддерживается обнаружение на устройстве в 102 сценариях. Подробнее о сценариях см. Список категорий идентификации сценариев.

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

Перед началом реализации

  • Проверьте назначение разрешений, для обнаружения сцены требуются WRITE_EXTERNAL_STORAGE и КАМЕРА в AndroidManifest.xml. Для получения всех необходимых разрешений, пожалуйста, проверьте этот список.
  • Служба обнаружения сцен поддерживает интеграцию с Android 6.0 и более поздними версиями.

Процесс развития

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

  1. Нам необходимо зарегистрироваться как разработчик в AppGallery Connect.
  2. Мы создаем приложение и включаем ML Kit из AppGallery Connect.
  3. После настройки в AppGallery Connect давайте интегрируем Huawei ML Kit в наше демонстрационное приложение.

а. Нам нужно получить файл agconnect-services.json для конфигураций из AppGallery Connect. Затем мы добавляем его на уровень проекта нашего приложения в папке приложения.

б. После этого нам нужно добавить зависимости в файлы gradle.

Теперь нам нужно синхронизировать наши файлы gradle.

Приступим к кодированию!

У нас есть активность (MainActivity.kt) для выбора изображений двумя кнопками с камеры или хранилища. Итак, у него есть макет activity_main.xml. Когда мы выбираем фотографию, служба обнаружения сцены возвращает результаты. Давай проверим их.

В папке res мы можем добавить XML-файл с именем file_paths. Мы использовали файл для путей к изображениям. Если вы получаете код ошибки 5, это значит, что размер вашего изображения соответствует размеру вашего изображения. Проверьте эту ссылку.

Создаем две кнопки для выбора вариантов с камерой или хранилищем. Во-первых, мы проверяем необходимые разрешения. Затем мы запускаем событие кнопкой. Например, мы выбираем вариант использования с выбором изображения из хранилища. После получения необходимых разрешений мы вызвали метод startActivityForResult (). В методе onActivityResult () мы получаем изображение из хранилища в виде растрового изображения, затем вызываем метод performSceneDetection () с растровым изображением.

Устанавливаем настройки MLSceneDetectionAnalyzerSetting () и устанавливаем уровень достоверности для обнаружения сцены. Методы setConfidence () должны получать значение с плавающей запятой. После установки настроек создаем анализатор со значением настроек. Затем мы устанавливаем кадр с растровым изображением. Наконец, мы создали задачу для списка объекта MLSceneDetection. У нас есть функции слушателя для успеха и неудачи. Сервис возвращает список результатов. У результатов есть два параметра: результат и достоверность. Устанавливаем ответ на textView_service_response.

Наконец, мы завершили демонстрационное приложение об использовании обнаружения сцены с Huawei ML Kit. Я надеюсь, что эта статья будет полезна для реализации и использования.

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

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