📜  使用 OpenCV 对图像进行算术运算Set-2(二进制图像的按位运算)

📅  最后修改于: 2022-05-13 01:55:47.494000             🧑  作者: Mango

使用 OpenCV 对图像进行算术运算Set-2(二进制图像的按位运算)

先决条件:图像的算术运算 |第一组
位运算用于图像处理,用于提取图像中的重要部分。在本文中,使用的位运算是:

  1. 或者
  2. 异或
  3. 不是

此外,按位运算有助于图像屏蔽。借助这些操作可以启用图像创建。这些操作有助于增强输入图像的属性。
注意:按位运算应应用于相同尺寸的输入图像
输入图像 1:

输入图像 2:

图像上的按位与运算:

输入数组元素的按位连接。

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()


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()


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()


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()


输出:

图像上的按位或运算:

输入数组元素的按位分离。

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()

输出:

图像的按位异或运算:

对输入数组元素进行按位异或运算。

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()

输出:

图像上的按位非运算:

输入数组元素的反转。

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()

输出:
按位不在图 1 上

按位不在图 2 上