creame un programa donde pueda importar una foto con filtros
Aquí te muestro un ejemplo de cómo crear un programa en Python que permite importar una foto y aplicarle diferentes filtros utilizando la biblioteca OpenCV. **Requisitos previos** * Instalar OpenCV utilizando pip: `pip install opencv-python` * Instalar numpy utilizando pip: `pip install numpy` **Código** ```python import cv2 import numpy as np # Función para aplicar un filtro a la imagen def aplicar_filtro(imagen, filtro): if filtro == 'gris': return cv2.cvtColor(imagen, cv2.COLOR_BGR2GRAY) elif filtro == 'negativo': return cv2.bitwise_not(imagen) elif filtro == 'blanco y negro': return cv2.cvtColor(imagen, cv2.COLOR_BGR2GRAY) elif filtro == 'sepia': return cv2.convertScaleAbs(imagen, alpha=1.5, beta=0) elif filtro == 'negativo invertido': return cv2.bitwise_not(imagen) elif filtro == 'blanco y negro invertido': return cv2.bitwise_not(cv2.cvtColor(imagen, cv2.COLOR_BGR2GRAY)) else: return imagen # Función para abrir la imagen def abrir_imagen(): return cv2.imread('imagen.jpg') # Función para mostrar la imagen def mostrar_imagen(imagen): cv2.imshow('Imagen', imagen) cv2.waitKey(0) cv2.destroyAllWindows() # Función principal def main(): # Abrir la imagen imagen = abrir_imagen() # Mostrar la imagen original print("Imagen original:") mostrar_imagen(imagen) # Aplicar filtros filtros = ['gris', 'negativo', 'blanco y negro', 'sepia', 'negativo invertido', 'blanco y negro invertido'] for filtro in filtros: imagen_filtrada = aplicar_filtro(imagen, filtro) print(f"Filtro: {filtro}") mostrar_imagen(imagen_filtrada) if __name__ == '__main__': main() ``` **Explicación** * La función `aplicar_filtro` recibe una imagen y un filtro como parámetros, y devuelve la imagen con el filtro aplicado. * La función `abrir_imagen` abre la imagen utilizando OpenCV. * La función `mostrar_imagen` muestra la imagen utilizando OpenCV. * La función `main` es la función principal del programa, que abre la imagen, muestra la imagen original, aplica los filtros y muestra las imágenes filtradas. **Ejemplo de uso** * Guarda el código en un archivo llamado `filtro.py`. * Crea un archivo llamado `imagen.jpg` en la misma carpeta que el archivo `filtro.py`. * Ejecuta el programa utilizando Python: `python filtro.py`. * La imagen original se mostrará en la ventana de OpenCV. * Los filtros se aplicarán a la imagen original y se mostrarán en la ventana de OpenCV. Recuerda que debes tener OpenCV y numpy instalados en tu sistema para ejecutar este programa.