不需要的图像形状 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)
这与上面的图片相同。
我正在尝试生成图像并训练神经网络,
我通过制作一个空的 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)
这与上面的图片相同。