Operaciones aritméticas en imágenes usando OpenCV | Conjunto-1 (Suma y Resta)

Las operaciones aritméticas como la suma, la resta y las operaciones bit a bit (Y, O, NO, XOR) se pueden aplicar a las imágenes de entrada. Estas operaciones pueden resultar útiles para mejorar las propiedades de las imágenes de entrada. La aritmética de la imagen es importante para analizar las propiedades de la imagen de entrada. Las imágenes operadas se pueden utilizar además como una imagen de entrada mejorada, y se pueden aplicar muchas más operaciones para aclarar, umbralizar, dilatar, etc. de la imagen. 
 

Adición de imagen:

Podemos agregar dos imágenes usando la función cv2.add() . Esto suma directamente píxeles de imagen en las dos imágenes. 
 

Syntax: cv2.add(img1, img2)

Pero agregar los píxeles no es una situación ideal. Entonces, usamos cv2.addweighted(). Recuerde, ambas imágenes deben tener el mismo tamaño y profundidad. 
 

Sintaxis : cv2.addWeighted(img1, wt1, img2, wt2, gammaValue)
Parámetros
img1 : primera array de imagen de entrada (canal único, 8 bits o punto flotante) 
wt1 : peso de los primeros elementos de imagen de entrada que se aplicarán la imagen final 
img2 : array de la segunda imagen de entrada (canal único, 8 bits o punto flotante) 
wt2 : peso de los elementos de la segunda imagen de entrada que se aplicarán a la imagen final 
gammaValue : medición de la luz
 

Imágenes utilizadas como entrada:
Imagen de entrada1: 

Imagen de entrada2: 

A continuación se muestra el código: 
 

Python3

# Python program to illustrate
# arithmetic operation of
# addition of two images
   
# organizing imports
import cv2
import numpy as np
   
# path to input images are specified and 
# images are loaded with imread command
image1 = cv2.imread('input1.jpg')
image2 = cv2.imread('input2.jpg')
 
# cv2.addWeighted is applied over the
# image inputs with applied parameters
weightedSum = cv2.addWeighted(image1, 0.5, image2, 0.4, 0)
 
# the window showing output image
# with the weighted sum
cv2.imshow('Weighted Image', weightedSum)
 
# De-allocate any associated memory usage 
if cv2.waitKey(0) & 0xff == 27:
    cv2.destroyAllWindows()

Producción: 

Resta de Imagen:

Al igual que la suma, podemos restar los valores de píxeles en dos imágenes y fusionarlos con la ayuda de cv2.subtract(). Las imágenes deben ser del mismo tamaño y profundidad. 
 

Syntax:  cv2.subtract(src1, src2)

Imágenes utilizadas como entrada: 
Imagen de entrada1: 

Imagen de entrada2: 

A continuación se muestra el código: 

Python3

# Python program to illustrate
# arithmetic operation of
# subtraction of pixels of two images
 
# organizing imports
import cv2
import numpy as np
   
# path to input images are specified and 
# images are loaded with imread command
image1 = cv2.imread('input1.jpg')
image2 = cv2.imread('input2.jpg')
 
# cv2.subtract is applied over the
# image inputs with applied parameters
sub = cv2.subtract(image1, image2)
 
# the window showing output image
# with the subtracted image
cv2.imshow('Subtracted Image', sub)
 
# De-allocate any associated memory usage 
if cv2.waitKey(0) & 0xff == 27:
    cv2.destroyAllWindows()

Producción: 

Publicación traducida automáticamente

Artículo escrito por rishabhsingh1304 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 *