¿Cómo implementar una aplicación de búsqueda de recetas usando funciones HMS? | autor: Hakan Erbaş | Desarrolladores de Huawei | Octubre de 2020

Acceso a la implementación de una aplicación de búsqueda de recetas usando el reconocimiento usando la función Classificaton del Huawei ML Kit y las funciones Cloud DB

Hola a todos,

En este artículo, verá cómo se implementa una aplicación de búsqueda de recetas utilizando alimentos de reconocimiento de mesa. Para esta aplicación se utilizarán el kit Huawei ML y la función de clasificación de imágenes Huawei Cloud DB. El tema puede diferir para su aplicación, pero el enfoque es importante. Al final de este artículo, encontrará enlaces a Cloud DB y ML Kit. Para obtener información detallada, estos artículos o las páginas de la Guía para desarrolladores de Huawei también ayudan.

Primero implementemos el reconocimiento de alimentos en la función de mesa. Para hacer esto, deberíamos proporcionar al MLKit un mapa de bits. Este mapa de bits se puede obtener seleccionándolo de la galería o de la cámara. Opcionalmente, se debe implementar la lógica de permisos. Después de procesar el permiso, obtenemos un mapa de bits en el fragmento onActivityResult.

Como puede ver, el mapa de bits se proporciona como el parámetro performStaticImageClassificationOnCloud, que es un método para reconocer alimentos en la nube. El kit Huawie ML proporciona clasificación de dos formas; clasificación de nube o dispositivo. La clasificación de nubes proporciona más resultados. Ambos;

OnSuccessListener devuelve una lista de objetos clasificados, si los hay. Pero en esta etapa de MLKit, no podemos restringirlos a sus tipos. Por tanto, debemos comprobar los tipos de objetos clasificados. Se enumeran como el método checkFoodList viewModel. Este método también se puede implementar en fragmentos. Esto se puede cambiar para el patrón.

El método de control se puede implementar de varias formas. Para comprender la lógica aquí, tenga información sobre Cloud DB. Puedes seguir mi artículo anterior al respecto.

BaseFood ObjectType, que significa que la tabla se crea en Cloud DB.

Necesitamos verificar si cada objeto clasificado está en esta tabla o no. Para implementar esta lógica, las consultas personalizadas deben escribirse en la base de datos de Cloud. Puede comprender las preguntas de esta guía.

checkFoodList en viewModel aborda un método en la tienda asociada.

fun checkFoodList(items: MutableList<String>) {
baseFoodRepository.getIfBaseFood(items)
}

El método getIfBaseFood se implementa en el repositorio:

Creamos nuestra propia consulta usando «ʻin`». Tiene parámetros; tipo de objeto nombre de campo y lista. itemList debe ser una matriz. Por lo tanto, esta consulta nos da una lista de objetos cuya cadena en el campo de nombre está en la lista dada. En la tarea SuccessListener, se toma el resultado. Así que volvió BaseFood una lista es una lista de objetos que se reconocen. Luego, se debe implementar una lógica que devuelva una lista de recetas que contengan alimentos reconocidos. El diseño de ObjectTypes es muy importante. Aquí se crean 4 tipos de objetos relacionados. Estos son;

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *