【问题标题】:How do you access pngs from different directories and merge them?你如何从不同的目录访问 pngs 并将它们合并?
【发布时间】:2021-11-21 19:06:34
【问题描述】:

如果它们与 main.py 不在同一目录中,我找不到合并多个 png 的方法。
我会使用:

from PIL import Image

#myFolder has layer1.png, layer2.png, myFolder is in same directory as main.py
Image.alpha_composite(-,-).save("test1.png")

将 png 合并在一起。

【问题讨论】:

  • 如果它们在同一个目录中,你会如何合并它们?是什么阻止您使用到主目录之外的路径?
  • 如果他们在同一个目录下,我会选择Image.alpha_composite("layer1.png","layer2.png").save("test1.png"),而我缺乏经验是阻碍我前进的原因,我是新手。
  • Image来自什么包?
  • 您是在使用硬编码路径还是要从文件系统中选择一些路径?
  • @tdelaney cv2? (猜测)

标签: python image merge directory png


【解决方案1】:

Python 有几个可以构建路径名的模块。 pathlib 是个不错的选择。 Python 脚本和模块包含一个魔术变量__file__,它为正在执行的文件命名。您可以使用它来查找脚本的目录,然后使用pathlib 来获取myFolder 的路径及其内容。 Path 覆盖除法运算符以连接路径名。聪明……如果不是太聪明的话。之后,您需要打开这两个图像才能得到合成。

from PIL import Image
from pathlib import Path

# get this script's directory and then png directory underneath
script_folder = Path(__file__).absolute().parent
my_folder = script_folder/"myFolder"

Image.alpha_composite(Image.open(my_folder/"layer1.png"), 
    Image.open(my_folder/"layer2.png")).save("test1.png")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    相关资源
    最近更新 更多