En este artículo vamos a ver cómo restar dos imágenes usando OpenCV en Python.
Ahora, antes de entrar en materia, discutiremos algunos de los casos de uso de las operaciones aritméticas. Las operaciones aritméticas como la suma y la resta pueden ayudarnos a hacer que las imágenes sean más brillantes o más oscuras. Específicamente, la resta de dos imágenes tiene muchos propósitos si está preparado para encontrar la diferencia entre las dos imágenes de apariencia similar o comparar esto es útil. OpenCV verifica o manipula las imágenes por nivel de píxel debido a este hecho podemos obtener la diferencia de las imágenes en el nivel de píxel.
Sintaxis:
Syntax: cv2.subtract(image1, image2)
Nota: antes de restar cualquier imagen, debe tener en cuenta que las dos imágenes deben tener el mismo tamaño y profundidad. De lo contrario, arrojará un error.
Instalación
Para instalar OpenCV, escriba el siguiente comando en la terminal.
python3 -m pip install opencv--python or pip install opencv-python
Al instalar OpenCV, instalará automáticamente NumPy en su sistema. Así que estás listo para irte. Ahora veamos cómo restar dos imágenes usando OpenCV y python.
Implementación paso a paso
Paso 1: Importación de las bibliotecas
Python3
# importing opencv import cv2
Paso 2: Lee las imágenes
A continuación, primero debemos leer las imágenes para usar las imágenes en el programa.
Python3
# reading the images circle = cv2.imread('circle.png') star = cv2.imread('star.png')
Paso 3: Resta las imágenes
Ahora, podemos restar las imágenes mediante el método cv2 incorporado llamado cv2.subtract
Sintaxis: cv2.subtract(imagen1, imagen2)
Python3
# subtract the images subtracted = cv2.subtract(star, circle)
Paso 4: Mostrar la salida
Para mostrar las imágenes necesitamos hacer 3 cosas primero mostrando la imagen por cv2.imshow()
Sintaxis: cv2.imshow(“nombre de la ventana”, imagen)
Las próximas dos líneas de código nos aseguran darnos una opción para cerrar la imagen mostrada.
cv2.waitKey(0) -> esperará el tiempo infinito para que presione cualquier tecla en el teclado
cv2.destroyAllWindows() -> cerrará todas las ventanas
Python3
# TO show the output cv2.imshow('image', subtracted) # To close the window cv2.waitKey(0) cv2.destroyAllWindows()
Aquí está el código de python para restar dos imágenes en python,
Imágenes de entrada:
Python3
# importing opencv import cv2 # reading the images circle = cv2.imread('circle.png') star = cv2.imread('star.png') # subtract the images subtracted = cv2.subtract(star, circle) # TO show the output cv2.imshow('image', subtracted) # To close the window cv2.waitKey(0) cv2.destroyAllWindows()
Producción:
Aplicaciones
- Para convertir una imagen a PNG : la sustracción de imágenes mediante OpenCV se usa para eliminar las imágenes de fondo y convertirlas a png.
- Saber diferencias entre dos imágenes – Si tenemos dos imágenes similares con algunas diferencias. Y queremos saber las diferencias, podemos ir por esta resta de imagen para averiguarlo.
- Brillo y contraste de la imagen: agregar o quitar algunos píxeles ajustará el brillo y el contraste de la imagen.
- Para ajustar el gradiente de iluminación en la imagen : si una imagen que contiene texto está mal iluminada. Nos cuesta leerlo. La resta de imágenes facilita la lectura del texto en ese documento.
- Filtros de Instagram y Snapchat : sí, los filtros que usamos para tomar diferentes selfies y fotos usan la sustracción de imágenes.
Publicación traducida automáticamente
Artículo escrito por sanjaysdev0901 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA