推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
schubert
V2EX  ›  Python

Python 可以实现图片自动拼贴吗?

  •  
  •   schubert · Feb 25, 2023 · 3728 views
    This topic created in 1181 days ago, the information mentioned may be changed or developed.

    需要批量处理文件夹下的所有子文件夹里的图片,拼贴成一张大图。 用 turbocollage 可以实现,但需要每个文件夹都操作一次。 怎么上图片来着

    E4Ph8.png E4MN5.png

    33 replies    2023-02-28 14:16:22 +08:00
    raycool
        3
    raycool  
       Feb 25, 2023
    python opencv
    schubert
        4
    schubert  
    OP
       Feb 25, 2023
    可以实现不同尺寸拼贴满整个新图片吗?
    @raycool
    Yuhyeong
        5
    Yuhyeong  
       Feb 25, 2023
    写个算法就行了,opencv 能实现
    ila
        6
    ila  
       Feb 25, 2023 via Android
    没有问题的,指定宽高,
    有些图片 resize 下就 ok 了
    schubert
        7
    schubert  
    OP
       Feb 25, 2023
    我让 gpt 写了半天,还是要么重叠图片,要么就是一大块留白
    Ufo666
        8
    Ufo666  
       Feb 25, 2023
    我写过批量视频九宫格
    schubert
        9
    schubert  
    OP
       Feb 25, 2023
    因为每个文件夹里横向和竖向的图片数量不同,所以比较麻烦,
    sadhen
        10
    sadhen  
       Feb 25, 2023
    我正在设计用于处理图像的 DSL: https://github.com/liga-ai/ligavision/issues/46

    后面正式发布,应该能满足你的需求
    schubert
        11
    schubert  
    OP
       Feb 25, 2023
    @sadhen 大概啥实惠能用哦
    schubert
        12
    schubert  
    OP
       Feb 25, 2023
    @sadhen 大概啥时候能用哦,哈哈
    tomczhen
        13
    tomczhen  
       Feb 25, 2023 via Android
    可以换个思路,用 py 控制软件来合并,先查一下工具是否支持 cli 操作,不可以的话通过 gui 来操作。
    stardew
        14
    stardew  
       Feb 25, 2023
    写个 MaxRects 算法,然后根据算法结果拼
    schubert
        15
    schubert  
    OP
       Feb 25, 2023
    谢谢各位大佬给的思路,我试试
    mrytsr
        16
    mrytsr  
       Feb 25, 2023 via Android
    PIL 或者 ffmpeg 搞
    chrawsl
        17
    chrawsl  
       Feb 25, 2023
    photoshop 就有这个功能
    schubert
        18
    schubert  
    OP
       Feb 25, 2023
    @chrawsl 我指的是批量处理
    lovelylain
        19
    lovelylain  
       Feb 25, 2023 via Android
    可以,很多年以前移植一款 KMP 皮肤到 PotPlayer ,就是用 Python PIL 库把多个不同尺寸图片拼接成一张大图,然后按坐标去使用,现在早就忘了怎么写了。
    fyq
        20
    fyq  
       Feb 25, 2023
    借个楼问一下,对拼接的图做逆向操作,把如 OP 所示的这种有明确边框的图重新拆成一张一张的小图,有哪些现成的轮子可以用?如果没有,想用 Python 实现的话,有什么合适的思路吗?
    think2011
        21
    think2011  
       Feb 25, 2023
    @jobmailcn 音译雪碧图的应用,是有蛮多工具支持的,现在一下子想不起有哪些了
    Richard14
        22
    Richard14  
       Feb 26, 2023
    各位大佬,这个场景下如果想实现图片合理布局,应该用什么算法啊
    chrawsl
        23
    chrawsl  
       Feb 26, 2023
    @schubert 是批处理,全自动的,在 [文件] [自动] [联系表]
    ruanimal
        24
    ruanimal  
       Feb 26, 2023
    感觉用 pillow 就能实现,拼图逻辑可能得想想
    lusi1990
        25
    lusi1990  
       Feb 26, 2023
    写个脚本 操作 turbocollage . 完美
    schubert
        26
    schubert  
    OP
       Feb 26, 2023
    @lusi1990 复杂么
    lusi1990
        27
    lusi1990  
       Feb 26, 2023
    @schubert 类似按键精灵. 可以试试 pyautogui. 感觉 两种方案都不算复杂
    sgwk
        28
    sgwk  
       Feb 26, 2023
    可以的,用 pillow 。
    secondwtq
        29
    secondwtq  
       Feb 26, 2023
    搜一下 Bin Packing / Rectangle Packing 算法
    schubert
        30
    schubert  
    OP
       Feb 27, 2023
    @secondwtq
    我去问问 chatgpt
    sadhen
        31
    sadhen  
       Feb 28, 2023
    @schubert ligavision-dsl 已经可以用了

    https://github.com/liga-ai/ligavision

    README 里面我提供了三个 notebook 示例,可以直接在 Google Colab 运行的

    用+在水平方向上拼接,用-在竖直方向上拼接,这两个功能大概 3 周之后可以用吧. 具体看我这边同事的需求。因为这不算是一个个人项目,是公司内部有需求,只不过正好是开源的。
    schubert
        32
    schubert  
    OP
       Feb 28, 2023
    @sadhen 可以直接在 pycharm 中运行么
    sadhen
        33
    sadhen  
       Feb 28, 2023
    @schubert Google Colab 是 Jupyter Notebook 的一种实现,我这边提供 Google Colab 的链接,是因为如果有人感兴趣,可以直接打开链接,用浏览器进入 Google Colab (不需要手动 clone 代码、安装 PyCharm 等各种繁琐的操作)就可以运行 Python 代码。

    PyCharm 和 VSCode 都支持 Jupyter Notebook ,所以这个 notebook 可以在 PyCharm 里面运行。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1291 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 23:40 · PVG 07:40 · LAX 16:40 · JFK 19:40
    ♥ Do have faith in what you're doing.