Operaciones aritméticas en imágenes usando OpenCV | Set-2 (Operaciones bit a bit en imágenes binarias)

Prerrequisito: Operaciones aritméticas en imágenes | Las operaciones bit a bit Set-1
se utilizan en la manipulación de imágenes y se utilizan para extraer partes esenciales de la imagen. En este artículo, las operaciones bit a bit utilizadas son: 
 

  1. Y
  2. O
  3. XOR
  4. NO

Además, las operaciones Bitwise ayudan en el enmascaramiento de imágenes. La creación de imágenes se puede habilitar con la ayuda de estas operaciones. Estas operaciones pueden resultar útiles para mejorar las propiedades de las imágenes de entrada. 
NOTA: Las operaciones Bitwise deben aplicarse en imágenes de entrada de las mismas dimensiones
. Imagen de entrada 1: 
 

Imagen de entrada 2: 
 

Operación AND bit a bit en la imagen:

Conjunción bit a bit de elementos de array de entrada. 
 

Sintaxis: cv2.bitwise_and(origen1, origen2, destino, máscara)
Parámetros:  
origen1: array de la primera imagen de entrada (un canal, 8 bits o punto flotante) 
fuente2: array de la segunda imagen de entrada (un canal, 8 bits o punto flotante) 
dest: array de salida (similar a las dimensiones y el tipo de array de imagen de entrada) 
máscara: máscara de operación, máscara de un solo canal de 8 bits de entrada/salida 
 

Python3

# Python program to illustrate
# arithmetic operation of
# bitwise AND of two images
    
# organizing imports
import cv2
import numpy as np
    
# path to input images are specified and  
# images are loaded with imread command 
img1 = cv2.imread('input1.png') 
img2 = cv2.imread('input2.png')
 
# cv2.bitwise_and is applied over the
# image inputs with applied parameters
dest_and = cv2.bitwise_and(img2, img1, mask = None)
 
# the window showing output image
# with the Bitwise AND operation
# on the input images
cv2.imshow('Bitwise And', dest_and)
  
# De-allocate any associated memory usage 
if cv2.waitKey(0) & 0xff == 27:
    cv2.destroyAllWindows()

Producción: 
 

Operación OR bit a bit en la imagen:

Disyunción bit a bit de elementos de array de entrada. 
 

Sintaxis: cv2.bitwise_or(fuente1, fuente2, destino, máscara)
Parámetros:  
fuente1: array de la primera imagen de entrada (un canal, 8 bits o coma flotante) 
fuente2: array de la segunda imagen de entrada (un canal, 8 bits o punto flotante) 
dest: array de salida (similar a las dimensiones y el tipo de array de imagen de entrada) 
máscara: máscara de operación, máscara de un solo canal de 8 bits de entrada/salida 
 

Python3

# Python program to illustrate
# arithmetic operation of
# bitwise OR of two images
    
# organizing imports
import cv2
import numpy as np
    
# path to input images are specified and  
# images are loaded with imread command 
img1 = cv2.imread('input1.png') 
img2 = cv2.imread('input2.png')
 
# cv2.bitwise_or is applied over the
# image inputs with applied parameters
dest_or = cv2.bitwise_or(img2, img1, mask = None)
 
# the window showing output image
# with the Bitwise OR operation
# on the input images
cv2.imshow('Bitwise OR', dest_or)
  
# De-allocate any associated memory usage 
if cv2.waitKey(0) & 0xff == 27:
    cv2.destroyAllWindows()

Producción: 
 

Operación XOR bit a bit en la imagen:

Operación OR exclusiva bit a bit en elementos de array de entrada. 
 

Sintaxis: cv2.bitwise_xor(fuente1, fuente2, destino, máscara)
Parámetros:  
fuente1: array de la primera imagen de entrada (un canal, 8 bits o punto flotante) 
fuente2: array de la segunda imagen de entrada (un canal, 8 bits o punto flotante) 
dest: array de salida (similar a las dimensiones y el tipo de array de imagen de entrada) 
máscara: máscara de operación, máscara de un solo canal de 8 bits de entrada/salida 
 

Python3

# Python program to illustrate
# arithmetic operation of
# bitwise XOR of two images
    
# organizing imports
import cv2
import numpy as np
    
# path to input images are specified and  
# images are loaded with imread command 
img1 = cv2.imread('input1.png') 
img2 = cv2.imread('input2.png')
 
# cv2.bitwise_xor is applied over the
# image inputs with applied parameters
dest_xor = cv2.bitwise_xor(img1, img2, mask = None)
 
# the window showing output image
# with the Bitwise XOR operation
# on the input images
cv2.imshow('Bitwise XOR', dest_xor)
  
# De-allocate any associated memory usage 
if cv2.waitKey(0) & 0xff == 27:
    cv2.destroyAllWindows()

Producción: 
 

Operación bit a bit NO en la imagen:

Inversión de elementos de array de entrada. 
 

Sintaxis: cv2.bitwise_not(fuente, destino, máscara)
Parámetros: 
fuente: Array de imagen de entrada (canal único, 8 bits o punto flotante) 
destino: Array de salida (similar a las dimensiones y el tipo de array de imagen de entrada) 
máscara: Máscara de operación, máscara de un solo canal de 8 bits de entrada/salida 
 

Python3

# Python program to illustrate
# arithmetic operation of
# bitwise NOT on input image
    
# organizing imports
import cv2
import numpy as np
    
# path to input images are specified and  
# images are loaded with imread command 
img1 = cv2.imread('input1.png') 
img2 = cv2.imread('input2.png')
 
# cv2.bitwise_not is applied over the
# image input with applied parameters
dest_not1 = cv2.bitwise_not(img1, mask = None)
dest_not2 = cv2.bitwise_not(img2, mask = None)
 
# the windows showing output image
# with the Bitwise NOT operation
# on the 1st and 2nd input image
cv2.imshow('Bitwise NOT on image 1', dest_not1)
cv2.imshow('Bitwise NOT on image 2', dest_not2)
  
# De-allocate any associated memory usage 
if cv2.waitKey(0) & 0xff == 27:
    cv2.destroyAllWindows()

Salida:  
bit a bit NO en la imagen 1 
 

Bitwise NO en la imagen 2 
 

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 *