【发布时间】:2018-10-19 00:02:04
【问题描述】:
我有一张只有一个频道的图像。我想复制这个通道,这样我就可以获得具有相同通道的新图像,只需复制三遍。基本上,制作一个准 RBG 图像。
我看到了一些关于如何使用 OpenCV 执行此操作的信息,但在 PIL 中没有。在 Numpy 中看起来很简单,但 PIL 再次不同。我不想养成一直从一个图书馆跳到另一个图书馆的习惯。
【问题讨论】:
-
切换到使用Imageio - 它使 Numpy ndarrays。 scipy.ndimage.imread 的文档甚至状态切换到 Imageio。
-
呃...然后,我会在 Imageio 中遇到一些需要切换到 OpenCV 的东西,然后,我会在 OpenCV 中遇到一些需要切换到 PIL 的东西。 ...然后它又开始了...我因计算机视觉旋转木马而感到胃痛!
-
如果您可以将数据放入 ndarray 中,那么您无能为力。如果像 scipy 这样的其他库可以更轻松地完成这些事情......您是否查看了 PIL 的文档并找到任何东西?您使用的是 PIL 还是 Pillow?
-
单独使用 numpy 即可。您可以使用 PIL 方法转换为 numpy 数组,然后将单个数组广播到 3 个通道,然后再转换回 PIL Image 对象。
-
这在文档中回答得非常清楚。
标签: python python-imaging-library channels