我有一张图片patch
,尺寸为:(200, 350 , 3)
补丁:
我正在尝试使用以下方法水平堆叠黑色图像:
stacked_image = np.hstack((patch, np.zeros((200, 2450, 3))))
所以stacked_image的形状为:(200, 2800, 3)
但是当我用plt.imshow()
或cv2.imshow()
显示图像补丁时,它会变白
我不明白为什么补丁会变白。我期望补丁图像和其余的列像素为黑色。我该如何实现?
此外,当我使用cv2.imwrite
保存图像时,我得到了预期的输出:
cv2.imwrite(r'hstack.png', np.hstack((patch, np.zeros((200, 2450, 3)))))
有人可以解释为什么会这样吗?
答案 0 :(得分:3)
我相信您的问题是dtype
更改
np.zeros((200, 2450, 3))
到
np.zeros((200, 2450, 3), dtype=np.uint8)
您还可以尝试查看pyplot.imshow的cmap参数