¿Cómo restar dos imágenes usando Python-OpenCV?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *