interfaz grÁfica para opencv en python
TRANSCRIPT
![Page 1: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/1.jpg)
INTERFAZ GRÁFICA PARA OPENCV EN PYTHON
RAINER ARENCIBIA HERNÁNDEZ
PRESENTACIÓN TFG
![Page 2: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/2.jpg)
ÍNDICE
1. Introducción: Motivación, Estado del Arte y Objetivos.2. Software.3. Diseño y Codificación – Diagramas.4. Interfaz gráfica y Secuencia de uso. 5. Filtros digitales: Histograma, Canny y Difuminado Gaussiano.6. Código - Repositorio. 7. Documentación del código: Paquete, Clase y Método.8. Métricas. 9. Conclusiones: Mejoras, Aprendizaje y Experiencia.
![Page 3: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/3.jpg)
INTRODUCCIÓN - MOTIVACIÓN
• Interfaz Gráfica Usuario: acceder a las funciones de OpenCV.
• Conocer el campo de la vision artificial.• Motivaciones adicionales: Python.• Poner en práctica los conocimientos aprendidos.
- Diferentes paradigmas de programación.
![Page 4: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/4.jpg)
INTRODUCCIÓN – ESTADO DEL ARTE• Gimp:
- Motores GEGL y GTK+. - Permite tratar cada objeto de la imagen de forma independiente(Capas).- Precio: Gratis.
• XnView:- Categorizar y convertir imágenes.- Trabaja con 400 formatos.- Precio: Gratis.
• Adobe PhotoShop: - Motor gráfico de Adobe.
- Permite tratar cada objeto de la imagen de forma independiente(Capas).- Precio: Alto. Solo para profesionales. “Estándar de facto”.
![Page 5: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/5.jpg)
INTRODUCCIÓN – OBJETIVOS• Desarrollar una aplicación que procesa imágenes en tiempo
real.
• Herramienta multiplataforma, para estudiantes y profesionales.
• Interfaz gráfica sencilla e intuitiva.
• Proyecto colaborativo e incremental.
![Page 6: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/6.jpg)
SOFTWARE
![Page 7: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/7.jpg)
A
A
DISEÑO Y CODIFICACIÓN - DIAGRAMA
APP: VisionViewer
BuilderDescription
Configurator
Tipos filtros: Operators
Viewers
![Page 8: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/8.jpg)
DISEÑO Y CODIFICACIÓN - DIAGRAMAOperators
Builders
Tipos de filtros
Filtros
Histogram
Canny
Gaussian Blur
Descriptor
Builder
Configurator
Implement
Implement
Implement
![Page 9: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/9.jpg)
GUI – SECUENCIA DE USO
VisionViewer
Filtros
OpenCV, Qt, Numpy, Scipy
Resultados“Preview”
Cargar image Elegir filtro
Aplicar funcionesGuardar resultados
![Page 10: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/10.jpg)
FILTROS DIGITALES - HISTOGRAMA
![Page 11: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/11.jpg)
FILTROS DIGITALES - CANNY
Canny es compatible con
imágenes en grises.
![Page 12: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/12.jpg)
FILTROS DIGITALES – GAUSSIAN BLUR
![Page 13: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/13.jpg)
CÓDIGO
El código se ha compartido en un repositorio llamado bitbucket.
![Page 14: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/14.jpg)
DOCUMENTACIÓN - PAQUETE
El proyecto completo se ha documentado en Inglés. Siguiendo el “PEP 0257 – Docstring Convention”.
![Page 15: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/15.jpg)
DOCUMENTACIÓN – CLASE Y MÉTODO
Ejemplo de la documentación de una clase y un método.Siguiendo el “PEP 0257 – Docstring Convention”.
![Page 16: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/16.jpg)
MÉTRICAS• Ficheros creados: 20.• Numero de clases: 14.• Líneas de código: 1276. • Horas de trabajo: 400 + 80 +
10.Codificar
75%
Python
13%
OpenCV8%
Qt, Numpy, Scipy5%
Codificar
Codificar PythonOpenCV Qt, Numpy, Scipy
Codifica
r80%
Memoria16%
Presentación4%
Codificar Memoria Presentación
![Page 17: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/17.jpg)
CONCLUSIONES - MEJORAS
• Filtros+.• Ventana con historial “Navigator”.• Objeto “Listener”. Filtros compatibles.• Módulo de idiomas.
![Page 18: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/18.jpg)
CONCLUSIONES - APRENDIZAJE
• Conceptos y definiciones de Visión Artificial.
• Lenguaje Python.• Librerías OpenCV, Qt, Numpy y Scipy.• Documentación de un proyecto, ”PEP-
0257”.• Investigación y corrección de errores.
![Page 19: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/19.jpg)
CONCLUSIONES - EXPERIENCIA
• Toma decisiones: Análisis, Diseño y Codificación.• Programación con librerías de terceros.• Superado los obstáculos.• Cumplido con los objetivos presentados.• Añadido nuevos elementos:
- Filtros.- Ventana “About us”.- Log para errores.
![Page 20: INTERFAZ GRÁFICA PARA OPENCV EN PYTHON](https://reader033.vdocuments.net/reader033/viewer/2022061401/58ed48e21a28ab0d798b45ff/html5/thumbnails/20.jpg)
FIN
Muchas gracias!
• Rainer Arencibia Hernández• +34 663 73 79 51• [email protected]• https://www.linkedin.com/in/rainerarencibia