当前位置: 首页> 健康> 母婴 > 软件开发公司起名_线下推广方法有哪些_2024年新冠疫情最新消息今天_网站优化排名易下拉系统

软件开发公司起名_线下推广方法有哪些_2024年新冠疫情最新消息今天_网站优化排名易下拉系统

时间:2025/7/13 4:28:50来源:https://blog.csdn.net/weixin_44855046/article/details/144239423 浏览次数:0次
软件开发公司起名_线下推广方法有哪些_2024年新冠疫情最新消息今天_网站优化排名易下拉系统

【1】引言

前述已经完成了图像和视频的读取学习,本次课学习制作gif格式动图。

【2】教程

实际上想制作gif格式动图是一个顺理成章的操作,完成了图像和视频的处理,那就自然而然会对gif的处理也产生兴趣。

不过在opencv官网、matplotlib官网和numpy官网,都没有找到视频生成gif动图函数imageio()的说明,所以就只好百度和CSDN搜索。

幸好找到了官网地址,给大家分享:Welcome to imageio’s documentation! — imageio 2.36.1 documentation

不过当前对官网还没有很好地理解,所以暂不涉及对官网文档的解读。

接下来重点解读imageio()转化视频为gif的操作。

import numpy as np #引入计算模块
import cv2 as cv #引入opencv模块
from imageio import mimsave #引入imageio图片处理模块cap = cv.VideoCapture('56789.mp4')
# 声明编码器和创建 VideoWrite 对象
fourcc = cv.VideoWriter_fourcc('M','J','P','G')#解码器选择out = cv.VideoWriter('56789-100.mp4', fourcc, 200.0, (720,1280)) #保存为MP4格式
grays=[] #定义一个空矩阵
while (cap.isOpened()): #自定义函数ret, frame = cap.read()if ret==True:out.write(frame) #写入视频cv.imshow('frame', frame) #在屏幕上播放视频grays.append(frame) #视频存入grays矩阵if cv.waitKey(1) & 0xFF == ord('q'):breakelse:break
mimsave('56789-100.gif',grays,fps=160,palettesize=256) #保存视频为gif格式,帧数为160,色彩种类数256
# 释放已经完成的工作
cap.release()
out.release()
cv.destroyAllWindows()

这里相对上一课的变化为:

【a】引入了imageio模块对视频格式进行转化:

from imageio import mimsave #引入imageio图片处理模块

【b】预定义一个空矩阵看来存储视频:

grays=[] #定义一个空矩阵

【c】使用空矩阵存储视频:

if ret==True:out.write(frame) #写入视频cv.imshow('frame', frame) #在屏幕上播放视频grays.append(frame) #视频存入grays矩阵

【d】使用imageio模块转化视频为gif格式:

mimsave('56789-100.gif',grays,fps=160,palettesize=256) #保存视频为gif格式,帧数为160,色彩种类数256

实际上转化的动图颜色暗淡。

【e】存储视频的grays.append(frame) 函数应该放在while循环中,经测试没有该循环,程序可能不会运行。

【3】效果

掌握了python+opencv+imageio()函数将视频转化为GIF的基本操作技巧,成功输出了gif格式动图。

关键字:软件开发公司起名_线下推广方法有哪些_2024年新冠疫情最新消息今天_网站优化排名易下拉系统

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: