La convolución es una forma matemática de combinar dos señales para formar una tercera. Es la técnica más importante en el procesamiento de señales digitales. En este caso se aplicó este concepto para realizar un programa donde se detecta los bordes de una imagen e igualmente de un video en tiempo real, utilizando principalmente la libreria Open CV en Python.
La segunda parte de este proyecto consiste en la recreación de un track de cámara para crear un filtro como los usados en la red social Instagram. Para ello se utilizó como base el código compartido por Sergio Canu en la plataforma py source.
Se necesita instalar previamente los paquetes de Open CV y Argsparse para el correcto funcionamiento del programa.
- Entornos de escritorio estándar (Windows, macOS, casi cualquier distribución GNU / Linux)
- Open Cv:
pip install opencv-python
- Argsparse:
pip install argsparse
- DLib:
pip install dlib
- 64-bits Python runtime
- CMake
- Open Cv:
- Archivos de datos de reconocimiento facial (Colocar en la raiz del repositorio)
- Python 3.8.5 x64
- Open CV
- NumPy
- Argsparse
- DLib
Ejemplo Imagen Original
Ejemplo de Imagen con Convolución
Previsualización de la interfaz de vídeo
Comando:
python Convolution.py [-i camera_index] [-f file_path] [-h]
Para una descripción de los argumentos se puede usar python Convolution.py -h
El argumento -i
recibe un número entero, el cual le indicará al programa de qué dirección de hardware tomará la señal de vídeo, por defecto es 0
El argumento -f
recibe una ruta de archivo, el cual será convolucionado con sobel y guardado.
Sin parámetros el programa abrirá la cámara 0 del ordenador y ejecutará la interfaz de usuario.
Este proyecto es de código abierto y está bajo la MIT License.