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:
- Y
- O
- XOR
- 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