Moh*_*ani 1 python opencv numpy image-processing matplotlib
我有一个patch大小的图像:(200, 350 , 3)
补丁:
我正在尝试使用以下方法将黑色图像水平堆叠到此:
stacked_image = np.hstack((patch, np.zeros((200, 2450, 3))))
Run Code Online (Sandbox Code Playgroud)
所以stacked_image的形状是: (200, 2800, 3)
但是当我用plt.imshow()或显示它时,图像补丁会变白cv2.imshow()

我不明白为什么贴片变白了。我期待补丁图像和剩余的列像素是黑色的。我怎样才能做到这一点?
此外,当我使用 保存图像时cv2.imwrite,我得到了预期的输出:
cv2.imwrite(r'hstack.png', np.hstack((patch, np.zeros((200, 2450, 3)))))
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么会这样吗?
我相信你的问题是dtype
变化
np.zeros((200, 2450, 3))
Run Code Online (Sandbox Code Playgroud)
到
np.zeros((200, 2450, 3), dtype=np.uint8)
Run Code Online (Sandbox Code Playgroud)
你也可以试试看pyplot.imshow的cmap参数
| 归档时间: |
|
| 查看次数: |
380 次 |
| 最近记录: |