码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python自动合成图片为gif,并能根据第一张图片自动统一图片尺寸


    网上找来合成图片成gif的代码,没想到运行报错:
    Traceback (most recent call last): File “D:\code\python\binance-quantization-master\tools\giftool.py”, line 5, in import imageio.v3 as iio ModuleNotFoundError: No module named ‘imageio.v3’

    明明已经运行 pip install imageio 安装模块了。后来分析可能版本旧了,重新升级模块: pip install –upgrade imageio

    随便找来几张图片试验:

    Traceback (most recent call last): File “D:\code\python\binance-quantization-master\tools\giftool.py”, line 16, in iio.imwrite(‘movie.gif’, images, duration=3, loop=0) File “D:\aiBigData\anaconda3\lib\site-packages\imageio\v3.py”, line 147, in imwrite encoded = img_file.write(image, **kwargs) File “D:\aiBigData\anaconda3\lib\site-packages\imageio\plugins\pillow.py”, line 389, in write ndimage = np.stack(ndimage, axis=0) File “D:\aiBigData\anaconda3\lib\site-packages\numpy\core\shape_base.py”, line 449, in stack raise ValueError(‘all input arrays must have the same shape’) ValueError: all input arrays must have the same shape

    导致错误的原因是所有输入的图像数组必须具有相同的形状。这意味着合成 GIF 时,要确保所有的图像具有相同的宽度和高度。 在实际应用场景,也很有可能尺寸大小有轻微不同。

    一种简单的方法是使用 PIL 库来调整图像的大小 。

    原来的代码:

    1. import imageio.v3 as iio
    2. import os
    3. png_dir = 'images'
    4. images = []
    5. # list file in folder 'images' and sort them by name
    6. image_list = [os.path.join(png_dir, f) for f in os.listdir(png_dir) if f.endswith('.png')]
    7. image_list.sort()
    8. # append images to list
    9. for file_name in image_list:
    10. images.append(iio.imread(file_name))
    11. # save as gif file
    12. iio.imwrite('movie.gif', images, duration=3, loop=0)

    修改后代码:源码地址

  • 相关阅读:
    每日练习------随机产生一个1-100之间的整数,看能几次猜中。要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。
    小红书前端2轮面试期望22K,全程问低代码设计
    vm虚拟机安装debian NAT模式 桥接模式 究竟是什么意思
    Spring Cloud版本,Spring Boot版本详细对应关系
    STM32 ADC数模转换器
    react-antd组件 input输入框: 实现按回车搜索
    【2023百度之星初赛】跑步,夏日漫步,糖果促销,第五维度,公园,新材料,星际航行,蛋糕划分
    Cache学习(1):常见的程序运行模型&多级Cache存储结构
    python基础专栏12-python基础篇-复合数据类型-字典
    Servlet生命周期知识点汇总
  • 原文地址:https://blog.csdn.net/linweidong/article/details/132784015
  • 最新文章
  • C# 内存安全性的重大演进:重新定义 unsafe 关键字
    [MAF的Agent管道详解-05]对话历史的持久化和输入输出的增强
    一行代码干翻 Java 反射?EggG 流式反射调用让反射优雅到不可思议
    云原生 CI/CD 平台架构设计
    模板方法模式实战:重构Agent工具审批,告别重复代码
    [MAF的Agent管道详解-03]连接LLM的IChatClient对象
    《HelloGitHub》第 122 期
    AI Agent 到底是做什么的?优势在哪里?
    完整学习LLM(六):上下文窗口是什么,为什么模型会忘东西
    和AI一起搞事情#6. 如何实现AI生图文字可编辑?
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号