Operaciones aritméticas usando OpenCV | Python

Prerrequisito: Operaciones aritméticas en imágenes usando OpenCV | Lo esencial

Podemos realizar diferentes operaciones aritméticas en las imágenes, por ejemplo, sumas, restas, etc. Esto es posible porque las imágenes se almacenan como arrays (tridimensionales para imágenes RGB y unidimensionales para imágenes en escala de grises).

Importancia de las operaciones aritméticas en las imágenes:

  • Fusión de imágenes: la adición de imágenes se utiliza para la fusión de imágenes donde las imágenes se multiplican con diferentes pesos y se suman para dar un efecto de fusión.
  • WaterMarking: También se basa en el principio de adición de imágenes de muy bajo peso a la imagen original.
  • Detección de cambios en la imagen: la sustracción de imágenes puede ayudar a identificar los cambios en dos imágenes, así como a nivelar secciones irregulares de la imagen, por ejemplo, para manejar la mitad de la imagen que tiene sombra.

Código para Adición de Imagen –

import  cv2
import matplotlib.pyplot as plt % matplotlib inline
# matplotlib can be used to plot the images as subplot
  
first_img = cv2.imread("C://gfg//image_processing//players.jpg")
second_img = cv2.imread("C://gfg//image_processing//tomatoes.jpg")
  
print(first_img.shape)
print(second_img.shape)
  
# we need to resize, as they differ in shape
dim =(544, 363)
resized_second_img = cv2.resize(second_img, dim, interpolation = cv2.INTER_AREA)
print("shape after resizing", resized_second_img.shape)
  
added_img = cv2.add(first_img, resized_second_img)
  
cv2.imshow("first_img", first_img)
cv2.waitKey(0)
cv2.imshow("second_img", resized_second_img)
cv2.waitKey(0)
cv2.imshow("Added image", added_img)
cv2.waitKey(0)
  
cv2.destroyAllWindows()

Salida:
(363, 544, 3)
(500, 753, 3)
forma después de cambiar el tamaño (363, 544, 3)

 
Código para resta de imagen –

import  cv2
import matplotlib.pyplot as plt % matplotlib inline
  
  
first_img = cv2.imread("C://gfg//image_processing//players.jpg")
second_img = cv2.imread("C://gfg//image_processing//tomatoes.jpg")
  
print(first_img.shape)
print(second_img.shape)
  
# we need to resize, as they differ in shape
dim =(544, 363)
resized_second_img = cv2.resize(second_img, dim, interpolation = cv2.INTER_AREA)
print("shape after resizing", resized_second_img.shape)
  
subtracted = cv2.subtract(first_img, resized_second_img)
cv2.imshow("first_img", first_img)
cv2.waitKey(0)
cv2.imshow("second_img", resized_second_img)
cv2.waitKey(0)
cv2.imshow("subtracted image", subtracted)
cv2.waitKey(0)
  
cv2.destroyAllWindows()

Salida:
(363, 544, 3)
(500, 753, 3)
forma después de cambiar el tamaño (363, 544, 3)

Publicación traducida automáticamente

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