V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
thMaster
V2EX  ›  问与答

需要在图片上叠加中文字符,有什么方案比 pillow 效率更高吗

  •  
  •   thMaster · 2023-03-06 18:01:14 +08:00 · 651 次点击
    这是一个创建于 414 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前在派上跑了一个处理图片的程序,负责把几张 1920*1080 的图片拼在一起,然后每一张图片下面都叠加上一些介绍性文字,功能很简单,直接使用 pillow 的 ImageDraw 的 paste 和 text 方法完成 但是因为数据量比较大,派上面又跑了很多程序,执行完一次处理任务需要很久 刚才尝试用 OpenCV 重写了一遍,结果发现不能在图片上叠加中文,只能调用 pillow 的方法,为此还得把 OpenCV 的 iamge 转成 pillow 的,结果测试了一下时间反而更慢了 大家有什么办法能提高效率吗,或者说 OpenCV 有什么其他方法叠加中文吗

    3 条回复    2023-03-08 12:59:19 +08:00
    rimutuyuan
        1
    rimutuyuan  
       2023-03-06 18:58:28 +08:00
    ffmpeg 文字水印可以不
    Eiden
        2
    Eiden  
       2023-03-06 23:09:58 +08:00
    先把文字渲染成图片, 比如 pygame, 然后调 opencv 的图片叠加, 不知道会不会快点
    thMaster
        3
    thMaster  
    OP
       2023-03-08 12:59:19 +08:00
    最近工作比较忙,没来得及试,刚才把几个方案都尝试了一下
    pygame+OpenCV 的搭配是最快的,方案是把文字使用 pygame 逐行添加到黑色背景的 Surface 上,然后转换为 OpenCV 的 image ,最后将几份图片和文字转的图片一起合并成一张大图
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2888 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:25 · PVG 08:25 · LAX 17:25 · JFK 20:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.