OpenCV: mezcla alfa y enmascaramiento de imágenes

La mezcla alfa es el proceso de superponer una imagen de primer plano sobre una imagen de fondo.

Tomamos estas dos imágenes para mezclar:

gfg.png

manzana.jpeg

Pasos :

  • Primero, importaremos OpenCV.
  • Leemos las dos imágenes que queremos fusionar.
  • Se muestran las imágenes.
  • Tenemos un bucle while que se ejecuta mientras la elección es 1.
  • Introduzca un valor alfa.
  • Use cv2.addWeighted() para agregar las imágenes ponderadas.
  • Mostramos y guardamos la imagen como alpha_{image}.png .
  • Para continuar y probar más valores alfa, presione 1. De lo contrario, presione 0 para salir.

Python3

import cv2
  
img1 = cv2.imread('gfg.png')
img2 = cv2.imread('apple.jpeg')
  
img2 = cv2.resize(img2, img1.shape[1::-1])
  
cv2.imshow("img 1",img1)
  
cv2.waitKey(0)
  
cv2.imshow("img 2",img2)
  
cv2.waitKey(0)
  
choice = 1
  
while (choice) :
  
    alpha = float(input("Enter alpha value"))
  
    dst = cv2.addWeighted(img1, alpha , img2, 1-alpha, 0)
  
    cv2.imwrite('alpha_mask_.png', dst)
  
    img3 = cv2.imread('alpha_mask_.png')
  
    cv2.imshow("alpha blending 1",img3)
  
    cv2.waitKey(0)
  
    choice = int(input("Enter 1 to continue and 0 to exit"))

Salidas:

alfa = 0.8

alfa = 0.5

Enmascaramiento alfa:

Podemos crear una máscara en blanco y negro a partir de una imagen con fondo transparente.


Python3

import cv2
im = cv2.imread("spectacles.png", cv2.IMREAD_UNCHANGED)
_, mask = cv2.threshold(im[:, :, 3], 0, 255, cv2.THRESH_BINARY)
cv2.imwrite('mask.jpg', mask)

Producción:


Publicación traducida automáticamente

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