我有一组 RGB 图像(大小 (400,200,3)),我正在使用 matplotlib.animation 对其进行动画处理,并且我想在它们之上覆盖一个 RGBA 图像(大小 (400,200,4))。当我使用axes.add_image()覆盖第二个图像时(它在没有覆盖的情况下工作正常),FFMPEG似乎被添加的alpha数据阻塞了。我想知道是否有一种方法可以覆盖第二个图像并在将其传递给 matplotlib.animation 之前消除 alpha 数据,因为我认为这可以解决问题。
我使用的是 python 2.7.9 和 matplotlib 1.4.2。
最佳答案
你有一个两步问题。首先您需要组合 RGBA 图像,然后您需要映射 RGBA -> RGB。请注意,通过将 alpha mask 设置为完全不透明,从 RGB -> RGBA 映射第一个图像非常简单。这两个问题都已经在 SO 上得到了解决。
组合 RGBA + RGBA:
映射 RGBA -> RGB:
关于python - 如何在 matplotlib 中将 RGBA 图像叠加在 RGB 图像上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28003023/