Adición y mezcla de imágenes usando OpenCV en Python

Cuando hablamos de imágenes, sabemos que todo se trata de la array, ya sea imagen binaria (0, 1) , imagen en escala de grises (0-255) o imagen RGB (255 255 255) . Entonces, las sumas de la imagen son sumas de los números de dos arrays. En OpenCV, tenemos un comando cv2.add() para agregar las imágenes.

A continuación se muestra el código para la adición de dos imágenes usando OpenCV:

# Python program for adding
# images using OpenCV
  
# import OpenCV file
import cv2
  
# Read Image1
mountain = cv2.imread('F:\mountain.jpg', 1)
  
# Read image2
dog = cv2.imread('F:\dog.jpg', 1)
  
# Add the images
img = cv2.add(mountain, dog)
  
# Show the image
cv2.imshow('image', img)
  
# Wait for a key
cv2.waitKey(0)
  
# Distroy all the window open
cv2.distroyAllWindows()

Pero a veces no queremos realizar sumas simples en la imagen, así que en este caso tenemos mezcla. Esto también es una adición de imágenes, pero se les da diferentes pesos a las imágenes para que den una sensación de fusión o transparencia. Las imágenes se agregan según la siguiente ecuación:

g(x) = (1 - a)f(x) + af1(x)

Al variar a de 0 -> 1, puede realizar una transición genial entre una imagen y otra. Aquí se toman dos imágenes para mezclarlas. A la primera imagen se le da un peso de 0.3 y a la segunda imagen se le da 0.7, cv2.addWeighted() aplica la siguiente ecuación en la imagen:

img = a . img1 + b . img 2 + y

Aquí y se toma como cero.

A continuación se muestra el código para la combinación de imágenes usando OpenCV:

# Python program for blending of
# images using OpenCV
  
# import OpenCV file
import cv2
  
# Read Image1
mountain = cv2.imread('F:\mountain.jpg', 1)
  
# Read image2
dog = cv2.imread('F:\dog.jpg', 1)
  
# Blending the images with 0.3 and 0.7
img = cv2.addWeighted(mountain, 0.3, dog, 0.7, 0)
  
# Show the image
cv2.imshow('image', img)
  
# Wait for a key
cv2.waitKey(0)
  
# Distroy all the window open
cv2.distroyAllWindows()

Publicación traducida automáticamente

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