如何使用OpenCV Python创建黑色图像和白色图像?
要创建一个黑色图像,我们可以使用 np.zeros() 方法。 它会创建一个给定大小的numpy n维数组,所有元素都为 0 。由于所有元素都为零,因此当我们使用 cv2.imshow() 或 plt.imshow() 函数显示它时,会显示一个黑色图像。
要创建一个白色图像,我们可以使用np.ones()方法。 它会创建一个给定大小的numpy n维数组,所有元素都为 1 。我们将这个数组乘以 255 以创建白色图像。现在所有元素都是 255 ,因此当我们使用 cv2.imshow() 或 plt.imshow() 函数显示它时,会显示一个白色图像。
注意 - 创建numpy.ndarray时,我们将 dtype = np.uint8 作为参数传递。
步骤
你可以按照下面的步骤创建一张黑色和一张白色的图像:
导入所需的库。在以下所有Python示例中,所需的Python库是 OpenCV,NumPy 和 Matplotlib 。请确保您已经安装了它们。
import cv2
import matplotlib.pyplot as plt
import numpy as np
使用 np.zeros() 创建一个 numpy.ndarray 以创建黑色图像。将 > size和 dtype 作为参数传递给这些方法。这里的dtype是 np.uint8 。
img = np.zeros((350, 500, 3), dtype = np.uint8)
使用 np.ones() 创建一个 numpy.ndarray 以创建白色图像。将 size 和 dtype 作为参数传递给这些方法。这里的dtype是 np.uint8 。 现在,我们将数组乘以 255 。
img = np.ones((350, 500, 3), dtype = np.uint8)
img = 255*img
显示黑色或白色图像。
cv2.imshow('black image', img)
让我们看一些不同的示例以便更好地理解。
示例1
在此示例中,我们创建一个 700×350 的黑色图像。这里图像的 宽度 为 700 , 高度 为 350 。
#导入所需的库
import cv2
import numpy as np
#创建一个黑色图像
img = np.zeros((350, 700, 3), dtype = np.uint8)
#使用opencv显示图像
cv2.imshow('black image', img)
cv2.waitKey(0)
输出
当您运行上面的Python程序时,它将产生以下输出窗口。
示例2
在此示例中,我们创建一个 700×350 的白色图像。注意这里图像的 宽度 为 700 , 高度 为 350 。
# 导入需要的库
import cv2
import numpy as np
# 创建一个白色图像
img = np.ones((350, 700, 3), dtype = np.uint8)
img = 255* img
# 使用opencv显示图像
cv2.imshow('白色图像', img)
cv2.waitKey(0)
输出
当您运行以上Python程序时,它将产生以下输出窗口。