不需要的图像形状 cv2

Unwanted image shape cv2

我正在尝试生成图像并训练神经网络, 我通过制作一个空的 np 数组来制作这些图像 image = np.empty((400, 400), np.int32) 在上面做形状

image = cv2.circle(image, (CordX, CordY), rad, color, thickness)

我不知道如何使其成为 3 维的(image.shape op 目前是 400, 400)并且输出应该是 400, 400, 3

要将灰度图像转换为 RGB,只需将一个通道重复 3 次即可:

# Create additional axis
image = image[:, :, None]
print(image.shape) # (400, 400, 1)

# Repeat 3 times along axis 2
image = image.repeat(3, 2)
print(image.shape) # (400, 400, 3)

完整示例:

image = np.empty((400, 400), np.int32)
image = cv2.circle(image, (200, 200), 20, 100, 3)
image = image[:, :, None].repeat(3, 2)

import matplotlib.pyplot as plt
plt.imshow(image)
plt.show()

或者,您可以首先创建 RGB 图像:

image = np.empty((400, 400, 3), np.int32)
image = cv2.circle(image, (200, 200), 20, (100, 100, 100), 3)

这与上面的图片相同。