python opencv实现gif图片分解的示例代码

案例:将和当前脚本同目录下的gif图片分解成png图片,并将分解后的图片保存到pics目录下,将其从0开始命名。

GIF 动图的分解可以利用 PIL模块的Image类来实现。

from PIL import Image
import os

"""
  将一张GIF动图分解到指定文件夹
  src_path:要分解的gif的路径
  dest_path:保存后的gif路径
"""
def gifSplit(src_path, dest_path, suffix="png"):
  img = Image.open(src_path)
  for i in range(img.n_frames):
    img.seek(i)
    new = Image.new("RGBA", img.size)
    new.paste(img)
    new.save(os.path.join(dest_path, "%d.%s" %(i, suffix)))

gifSplit('tiga.gif', r'./pics')

分解并保存后:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • js实现GIF图片的分解和合成

    无意中看到一篇文章写得是关于纯前端处理GIF图片的问题,感觉挺有意思的所以自己也实现了一下: 主要用到的有两个第三方库:合成GIF图片的gif.js和分解的libgif.js; 分解GIF 1. 引入Git库 import SuperGif from './libgif.js' 2. 处理图片 var file = e.target.files[0]; console.log(file.type.indexOf('image/gif')); load_gif(file); function lo

  • js实现GIF动图分解成多帧图片上传

    在项目中遇到需要支持上传gif图片,并把其分解的帧图片一次展示给用户.话不多说直接上代码 分解gif图片需要使用libgif-js这个库! 1. 引入Git库 import SuperGif from './libgif.js' 2. 分解Gif为png图片 const GifDecomposer = { structureGifObject (gifFiles, cb) { // gifFiles 获取的文件对象 e.target.files[0] const gifImg = documen

  • python opencv实现gif图片分解的示例代码

    案例:将和当前脚本同目录下的gif图片分解成png图片,并将分解后的图片保存到pics目录下,将其从0开始命名. GIF 动图的分解可以利用 PIL模块的Image类来实现. from PIL import Image import os """ 将一张GIF动图分解到指定文件夹 src_path:要分解的gif的路径 dest_path:保存后的gif路径 """ def gifSplit(src_path, dest_path, suffix

  • Python opencv应用实现图片切分操作示例

    目录 说明 操作说明 代码 切换效果 说明 之前下载来zip包的漫画,里面的图片都是两张一起的: 但是某些漫画查看软件不支持自动分屏,看起来会比较不舒服,所以只能自己动手来切分. 操作说明 Python有不少的库支持图片操作,其中比较著名的一个是OpenCV. OpenCV是一个跨平台的计算机视觉库,Python下有它的接口实现. Python默认不带OpenCV,所以需要先用pip下载: OpenCV功能强大,这里用来做图片的切分其实是牛刀小试. 关于OpenCV的功能,这里不多介绍,有兴趣的

  • Python实现Gif图片分解的示例代码

    目录 1.模块安装 2.模块导入 3.分解动图 4.批量分解 5.生成效果 在前面做过一个Gif图片合成的小工具,老朋友应该有所印象.但是,近段时间有人反映合成了的Gif图片该如何进行分解呢? 于是,再次了解了一下PIL模块的Image,果真是可以做动图分解的. 1.模块安装 使用PIL库,实际上是来源于pillow库的兼容,因此需要安装pillow非标准库. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow 2.模块导

  • Python Opencv实现单目标检测的示例代码

    一 简介 目标检测即为在图像中找到自己感兴趣的部分,将其分割出来进行下一步操作,可避免背景的干扰.以下介绍几种基于opencv的单目标检测算法,算法总体思想先尽量将目标区域的像素值全置为1,背景区域全置为0,然后通过其它方法找到目标的外接矩形并分割,在此选择一张前景和背景相差较大的图片作为示例. 环境:python3.7 opencv4.4.0 二 背景前景分离 1 灰度+二值+形态学 轮廓特征和联通组件 根据图像前景和背景的差异进行二值化,例如有明显颜色差异的转换到HSV色彩空间进行分割. 1

  • Python+OpenCV实现分水岭分割算法的示例代码

    目录 前言 1.使用分水岭算法进行分割 2.Watershed与random walker分割对比 前言 分水岭算法是用于分割的经典算法,在提取图像中粘连或重叠的对象时特别有用,例如下图中的硬币. 使用传统的图像处理方法,如阈值和轮廓检测,我们将无法从图像中提取每一个硬币,但通过利用分水岭算法,我们能够检测和提取每一个硬币. 在使用分水岭算法时,我们必须从用户定义的标记开始.这些标记可以通过点击手动定义,或者我们可以使用阈值和/或形态学操作等方法自动或启发式定义它们. 基于这些标记,分水岭算法将

  • 基于python opencv单目相机标定的示例代码

    相机固定不动,通过标定版改动不同方位的位姿进行抓拍 import cv2 camera=cv2.VideoCapture(1) i = 0 while 1: (grabbed, img) = camera.read() cv2.imshow('img',img) if cv2.waitKey(1) & 0xFF == ord('j'): # 按j保存一张图片 i += 1 u = str(i) firename=str('./img'+u+'.jpg') cv2.imwrite(firename

  • Python+Opencv实现把图片、视频互转的示例

    1. 安装Opencv包 pip install opvencv-python 2.实现代码: 视频转为图片: import cv2 cap=cv2.VideoCapture('E:/video/video-02.mp4') # 获取一个视频打开cap isOpened=cap.isOpened # 判断是否打开 print(isOpened) fps=cap.get(cv2.CAP_PROP_FPS) print(fps) # 获取宽度 width=int(cap.get(cv2.CAP_PR

  • python opencv如何实现图片绘制

    这篇文章主要介绍了python opencv如何实现图片绘制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 点和圆 : circle(img,center,radius,color,thickness=None,lineType=None,shift=None).各参数意义及作用如下. img:待画圆所在的图像. center:待画圆的圆心坐标. radius:待画圆的半径. color:待画圆的边框颜色,颜色格式为bgr格式.就是通道值 th

  • python使用OpenCV模块实现图像的融合示例代码

    可以通过OpenCV函数cv.add()或简单地通过numpy操作添加两个图像,res = img1 + img2.两个图像应该具有相同的深度和类型,或者第二个图像可以是标量值. 三种融合 注意融合时,一般来说两个图像的尺寸是一样大小的,如果大小不一样,需要把大的图像的某一部分先截出来,与小的图先融合,再作为整体替换掉原来大图中抠出的小图部分. """ # @Time : 2020/4/3 # @Author : JMChen """ impor

  • Python 利用OpenCV给照片换底色的示例代码

    OpenCV的全称是:Open Source Computer Vision Library.OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法.相比于PIL库来说OpenCV更加强大, 可以做更多更复杂的应用,比如人脸识别等. 1. 读入并显示图片 im

随机推荐