1. 使用OpenCV Python创建一张黑色图像
在OpenCV中,我们可以使用cv2.imread()
函数来读取一张图像。但是如果要创建新的图像,则需要使用numpy.zeros()
函数来创建一个具有指定高度和宽度的全黑的图像。下面是创建一张500x500像素的黑色图像的代码:
import cv2
import numpy as np
# 创建一个500x500的黑色图像
image = np.zeros((500, 500, 3), dtype=np.uint8)
# 显示图像
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
这段代码中,np.zeros()
函数创建了一个500x500像素的图像,它包含3个通道(即蓝色、绿色和红色通道),数据类型为uint8
(即像素值的范围为0-255)。接着,使用cv2.imshow()
函数来显示这张图像,cv2.waitKey()
函数等待用户按下一个键后再关闭窗口。
1.1 numpy.zeros()函数的使用
numpy.zeros()
函数用于创建指定形状和类型的全0数组。它的语法如下:
numpy.zeros(shape, dtype=float, order='C')
shape
:数组的形状,可以是一个整数或一个元组。
dtype
:数组中元素的数据类型。
order
:数组的存储顺序。可以是'C'(按行存储)或'F'(按列存储)。
例如,下面的代码创建了一个2x3的全0数组:
import numpy as np
arr = np.zeros((2,3), dtype=int)
print(arr)
输出结果为:
[[0 0 0]
[0 0 0]]
2. 使用OpenCV Python创建一张白色图像
在前面的例子中,我们创建了一张全黑的图像。如果想要创建一张全白的图像,只需要将数组中的元素值设为255即可。下面是创建一张500x500像素的全白图像的代码:
import cv2
import numpy as np
# 创建一个500x500的全白图像
image = np.ones((500, 500, 3), dtype=np.uint8) * 255
# 显示图像
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
这段代码中,np.ones()
函数创建了一个与前面相同大小的数组,元素值都为1。接着,乘以255将所有元素都变成255,即为全白色。接着,使用cv2.imshow()
函数来显示这张图像,cv2.waitKey()
函数等待用户按下一个键后再关闭窗口。
2.1 numpy.ones()函数的使用
numpy.ones()
函数用于创建指定形状和类型的全1数组。它的语法如下:
numpy.ones(shape, dtype=float, order='C')
shape
:数组的形状,可以是一个整数或一个元组。
dtype
:数组中元素的数据类型。
order
:数组的存储顺序。可以是'C'(按行存储)或'F'(按列存储)。
例如,下面的代码创建了一个2x3的全1数组:
import numpy as np
arr = np.ones((2,3), dtype=int)
print(arr)
输出结果为:
[[1 1 1]
[1 1 1]]
3. total代码
最终代码如下:
import cv2
import numpy as np
# 创建一个500x500的黑色图像
image = np.zeros((500, 500, 3), dtype=np.uint8)
# 显示图像
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 创建一个500x500的全白图像
image = np.ones((500, 500, 3), dtype=np.uint8) * 255
# 显示图像
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行这段代码后,会弹出分别是全黑和全白的图像。