我们可以使用 cv2.bitwise_not() 对图像执行按位 NOT 操作。以下是对图像执行按位 NOT 操作的语法 -
cv2.bitwise_not(img)
步骤
要在图像上按位计算 NOT,您可以按照以下步骤操作 -
-
导入所需的库。在以下所有示例中,所需的 Python 库是 OpenCV。确保您已经安装了它。
-
使用 cv2.imread() 方法将输入图像读取为灰度图像。使用图像类型(即.png或 jpg)指定图像的完整路径。
-
使用 cv2.biwise_not(img) 计算输入图像上的按位 NOT。
-
显示按位 NOT 图像
让我们借助一些 Python 示例来了解输入图像上的按位 NOT 操作。
例
在此示例中,我们按位计算输入图像的 NOT。
# import required libraries import cv2 # read an input image. img = cv2.imread('not.png') # compute bitwise NOT on input image not_img = cv2.bitwise_not(img) # display the computed bitwise NOT image cv2.imshow('Bitwise NOT Image', not_img) cv2.waitKey(0) cv2.destroyAllWindows()
我们将使用以下图像作为此示例的输入文件 -
输出
当您运行上述程序时,它将产生以下输出。
请注意输出窗口中不同形状的颜色反转。
例
在此示例中,我们按位计算输入图像的 NOT。使用此方法,您可以创建图像的负片。
# import required libraries import cv2 # read an input image img = cv2.imread('sketch.jpg') # compute bitwise NOT on input image not_img = cv2.bitwise_not(img) # display the computed bitwise NOT image cv2.imshow('Bitwise NOT Image', not_img) cv2.waitKey(0) cv2.destroyAllWindows()
我们将使用以下图像作为该程序的输入文件 -
输出
当你运行上面的程序时,它将产生以下输出 -
请注意,上面的输出图像是原始输入图像的负图像。
例
在此示例中,我们定义一个大小为 300×300 的图像圈。我们在此图像上按位执行 NOT 操作。
%matplotlib qt # import required libraries import cv2 import numpy as np import matplotlib.pyplot as plt # define an image as a circle img = np.zeros((300, 300), dtype = "uint8") img = cv2.circle(img, (150, 150), 150, 255, -1) # perform bitwise NOT on image not_img = cv2.bitwise_not(img) # Display the bitwise NOT output image plt.subplot(121), plt.imshow(img, 'gray'), plt.title("Circle") plt.subplot(122), plt.imshow(not_img, 'gray'), plt.title("Bitwise NOT") plt.show()
输出
当你运行上面的程序时,它将产生以下输出 -
上面的输出显示“按位 NOT”图像是图像“圆”的反转图像。