Академический Документы
Профессиональный Документы
Культура Документы
REPORTE 1
16011891
DOCENTE:
9°A
Contenido
Introducción ............................................................................................................. 4
OpenCV .................................................................................................................. 4
Android .................................................................................................................... 4
Desarrollo ................................................................................................................ 5
Creación del proyecto ............................................................................................. 6
Importación de la librería OpenCV .......................................................................... 8
Agregando dependencias .................................................................................. 11
Importando las interfaces................................................................................... 15
Pruebas ................................................................................................................. 18
Implementación de la cámara ............................................................................ 19
Configurando el activiy_main.xml ................................................................... 19
MainActivity.java ............................................................................................ 19
Usando los metodos implementados ............................................................. 22
Configurando metodos de Android .................................................................... 23
onDestroy ....................................................................................................... 23
onPause ......................................................................................................... 24
onResume ...................................................................................................... 24
Permisos de la aplicación. ................................................................................. 24
Ejecución en un dispositivo real......................................................................... 25
Errores .................................................................................................................. 26
Conclusión............................................................................................................. 27
Recursos Usados .................................................................................................. 27
Bibliografía ............................................................................................................ 28
OpenCV
Android
Para poder crear una aplicación móvil que sea capaz de hacer uso de la librería
OpenCV es necesario tener instalado el IDE AndroidStudio
(https://developer.android.com/studio) y tener descargada el SDK de OpenCV () es
importante tener en cuenta que la versión de OpenCV que se usara es la 3.4.3
Damos Ok y ahora la ventana tendrá la dirección del SDK y daremos clic en Finish.
Imagen 9 Dirección de la ubicación
Agregando dependencias
Esto nos abrirá un menú, donde seleccionaremos “Module Dependency”, eso nos
abrirá una nueva ventana donde seleccionaremos y marcaremos la casilla de
“openCVLibrary343” y daremos en “OK”.
Imagen 14 Carpeta de OpenCV
Imagen 15 Comprobación
Imagen 16 .gradle(:openCVLibrary343)
Imagen 17 .gradle(:app)
Ahora crearemos la carpeta donde contendrán estas interfaces, para esto damos
en New>Folder>JNIFolder, se abrirá una nueva ventana y seleccionaremos la
casilla “Change Folder Location” y cambiaremos el Nombre a uno que nos ayude a
reconocer que es la carpeta que usaremos enseguida.
Ya que tengamos creada la carpeta con el nombre (en este caso se llama jniLibs),
iremos a la carpeta donde descomprimimos los archivos de OpenCV y buscaremos
la carpeta de libs, ubicada en sdk>native>libs.
Imagen 19 Carpetas de Librerías Nativas
Damos ok, y veremos que la carpeta tendrá las carpetas y archivos copiados.
Implementación de la cámara
Ya que tenemos el SDK de OpenCV dentro del proyecto, es hora de saber como
usar la cámara y metodos que nos proporciona esta misma librería.
Configurando el activiy_main.xml
Aquí cambiaremos el tipo de Layout, de ContraintLayout a RelativeLayout, borramos
el codigo del mensaje “Hello World”, quedaría de la siguiente manera.
MainActivity.java
Nos saldrá un la linea subrayada, esto nos indica que las interfaces aun no estan
dentro del codigo, para arreglar esto simplemente damos clic en el icono de foco
que sale arriba del codigo y seleccionamos implents methods. Ver imagen 27.
Veremos una nueva ventana donde podremos seleccionar que metodos queremos
implementar, en este caso seleccionamos todos y le damos ok. Ver imagen 28.
Ahora que ya tenemos implementado los metodos que usaremos mas adelante,
creamos un Objeto del tipo JavaCameraView, en este caso usaremos el nombre
de javaCameraView y dos objetos Mat. Ver imagen 30.
Dentro del metodo onCreate colocamos el siguiente codigo, este codigo hará de
intermediario entre la clase JavaCameraView que nos proporciona OpenCV y el
main_activity.xml. Ver imagen 31.
Ahora será turno de usar los metodos que implementamos anteriormente, el primero
de ellos será el metodo “onCameraViewStarted”, este metodo nos permitirá abrir
la cámara con el alto y ancho que nosotros le indiquemos, en este caso usaremos
el siguiente codigo. Ver imagen 33.
Imagen 33 onCameraViewStarted
Imagen 35 onCameraFrame
La linea de codigo Core.flip, hace que la cámara gire conforme a la posición que
esta el dispositivo.
La linea de codigo Imgproc, ajusta el tamaño de la imagen a los tamaños
establecidos por mRGBA y mRGBAT.
Configurando metodos de Android
Estos metodos son usados para el ciclo de vida de las aplicaciones, es decir que
hacer si una aplicación se cierra o se manda a segundo plano.
onDestroy
Este metodo se ejecutará al momento de cerrar la aplicación y nos permitirá terminar
el proceso de la aplicación y uso de la cámara. Ver Imagen 36.
Imagen 36 onDestroy
onPause
Este metodo hará la mismo, pero solamente cuando la aplicación se mande a
segundo plano. Ver imagen 37.
Imagen 37 onPause
onResume
Este metodo nos permite reanudar la aplicación despues de estar en el metodo
onPause, para esto necesitamos el siguiente codigo. Ver Imagen 38.
Permisos de la aplicación.
Dentro del archivo colocamos las siguientes líneas. Ver imagen 40:
Es posible que salgan errores al momento de agregar los módulos de OpenCV, esto
depende de la conexión a internet.
Solución: eliminar la carpeta del módulo y volverla a colocar.
Es posible que el Manyfest de OpenCV tenga un error en las versiones mínimas y
recomendadas.
Solución: el IDE automáticamente detecta el error y lo soluciona, solo es dar
clic en el error y darle en el botón de “Do refactor”
Conclusión
Podemos decir que saber cómo usar las versiones que nos proporciona, asi como
la documentación de OpenCV, podremos hacer aplicaciones que cuenten con la
capacidad de reconocimiento de patrones y/u objetos.
Recursos Usados
OpenCV Configuration in Android Studio - OpenCV Android Studio Setup Tutorial
2019 (OpenCV Library). Retrieved from:
https://www.youtube.com/watch?v=pzuwrYgOnDQ
Launch Camera with openCV in Android Studio & Process Frames - Android Deep
Learning Tutorials. Retrived from: https://www.youtube.com/watch?v=rKvIKkBefJQ
Bibliografía
Baldan. (n.d.). You have not accepted the license agreements of the following SDK
components: Retrieved from https://es.stackoverflow.com/questions/155250/you-
have-not-accepted-the-license-agreements-of-the-following-sdk-components
Gonzalez, A. N. (2011, February 9). ¿Qué es Android? Retrieved from
https://www.xatakandroid.com/sistema-operativo/que-es-android
Gracia, L. M. (2013, October 9). ¿Qué es OpenCV? Retrieved from
https://unpocodejava.com/2013/10/09/que-es-opencv/
OpenCV. (n.d.). Retrieved from https://robologs.net/tutoriales/tutoriales-opencv/
OpenCV, Instalación en Python y ejemplos básicos. (2020, February 12). Retrieved
from https://revistadigital.inesem.es/informatica-y-tics/opencv/
Versiones OpenCV. (2018, October 16). Retrieved from
https://opencv.org/releases/page/3/
Visión artificial, OpenCV y Python, primeros pasos para analizar imágnes. (2020,
May 28). Retrieved from https://programarfacil.com/podcast/81-vision-artificial-
opencv-phyton/