OpenCV Python 如何在图像上执行按位非操作?

OpenCV Python 如何在图像上执行按位非操作?

我们可以使用 cv2.bitwise_not() 在图像上执行按位非操作。以下是在图像上执行按位非操作的语法 —

cv2.bitwise_not(img)
Python

步骤

要计算图像的按位非值,您可以遵循以下步骤 —

  • 导入所需的库。在下面的所有示例中,所需的 Python 库都是 OpenCV 。请确保您已经安装了它。

  • 使用 cv2.imread() 方法将输入图像读取为灰度图像。指定图像类型的完整路径(即 png 或 jpg)。

  • 使用 cv2.biwise_not(img) 计算输入图像的按位非操作。

  • 显示按位非图像。

让我们通过一些 Python 示例来了解对输入图像执行按位非操作。

示例

在此示例中,我们计算输入图像的按位非值。

# 导入所需的库
import cv2

# 读取输入图像。
img = cv2.imread('not.png')

# 在输入图像上计算按位非值
not_img = cv2.bitwise_not(img)

# 显示计算出的按位非图像
cv2.imshow('Bitwise NOT Image', not_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Python

我们将使用以下图像作为此示例的输入图像 —

OpenCV Python  如何在图像上执行按位非操作?

输出

运行上述程序时,它将生成以下输出。

OpenCV Python  如何在图像上执行按位非操作?

注意在输出窗口中不同形状的颜色反转。

示例

在此示例中,我们计算输入图像的按位非值。使用此方法,可以创建图像的负片。

# 导入所需的库
import cv2

# 读取输入图像
img = cv2.imread('sketch.jpg')

# 在输入图像上计算按位非值
not_img = cv2.bitwise_not(img)

# 显示计算出的按位非图像
cv2.imshow('Bitwise NOT Image', not_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Python

我们将使用以下图像作为该程序的输入文件 —

OpenCV Python  如何在图像上执行按位非操作?

输出

运行上述程序时,它将生成以下输出 —

OpenCV Python  如何在图像上执行按位非操作?

请注意,上面的输出图像是原始输入图像的底片图像。

示例

在此示例中,我们定义一个大小为 300×300 的圆形图像。我们对该图像执行按位非操作。

%matplotlib qt
# 导入所需的库
import cv2
import numpy as np
import matplotlib.pyplot as plt

# 定义一个圆形图像
img = np.zeros((300, 300), dtype = "uint8")
img = cv2.circle(img, (150, 150), 150, 255, -1)

# 对图像执行位NOT操作
not_img = cv2.bitwise_not(img)

# 显示位NOT输出图像
plt.subplot(121), plt.imshow(img, 'gray'), plt.title("Circle")
plt.subplot(122), plt.imshow(not_img, 'gray'),
plt.title("Bitwise NOT")
plt.show()
Python

输出

运行上述程序,将会产生以下输出: output ŌłÆ

OpenCV Python  如何在图像上执行按位非操作?

上述输出显示“位NOT”图像是“圆形”图像的反转图像。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python OpenCV

登录

注册