广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python怎么实现视频分解成图片及图片合成视频
  • 279
分享到

Python怎么实现视频分解成图片及图片合成视频

2023-06-29 19:06:41 279人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python怎么实现视频分解成图片及图片合成视频的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么实现视频分解成图片及图片合成视频文章都会有所收获,下面我们一起来看看吧。一、pyt

这篇文章主要介绍了python怎么实现视频分解成图片及图片合成视频的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么实现视频分解成图片及图片合成视频文章都会有所收获,下面我们一起来看看吧。

    一、python视频拆分+图片合成(源码一)

    Python怎么实现视频分解成图片及图片合成视频

    1.python视频拆分

    import cv2 def video2frame(videos_path,frames_save_path,time_interval):   '''  :param videos_path: 视频的存放路径  :param frames_save_path: 视频切分成帧之后图片的保存路径  :param time_interval: 保存间隔  :return:  '''  vidcap = cv2.VideoCapture(videos_path)  success, image = vidcap.read()  count = 0  while success:    success, image = vidcap.read()    count += 1    if count % time_interval == 0:      cv2.imencode('.jpg', image)[1].tofile(frames_save_path + "/frame%d.jpg" % count)    # if count == 20:    #   break  print(count) if __name__ == '__main__':   videos_path = r'E:\py\python3.7\test\test98youhuashiping\shipinGChaifen\1.mp4'   frames_save_path = r'E:\py\python3.7\test\test98youhuashiping\shipingchaifen'   time_interval = 2#隔一帧保存一次   video2frame(videos_path, frames_save_path, time_interval)

    2.python图片合成

    import cv2import osimport numpy as npfrom PIL import Image  def frame2video(im_dir,video_dir,fps):     im_list = os.listdir(im_dir)    im_list.sort(key=lambda x: int(x.replace("frame","").split('.')[0]))  #最好再看看图片顺序对不    img = Image.open(os.path.join(im_dir,im_list[0]))    img_size = img.size #获得图片分辨率,im_dir文件夹下的图片分辨率需要一致      # fourcc = cv2.cv.CV_FOURCC('M','J','P','G') #OpenCV版本是2    fourcc = cv2.VideoWriter_fourcc(*'XVID') #opencv版本是3    videoWriter = cv2.VideoWriter(video_dir, fourcc, fps, img_size)    # count = 1    for i in im_list:        im_name = os.path.join(im_dir+i)        frame = cv2.imdecode(np.fromfile(im_name, dtype=np.uint8), -1)        videoWriter.write(frame)        # count+=1        # if (count == 200):        #     print(im_name)        #     break    videoWriter.release()    print('finish') if __name__ == '__main__':    im_dir = r'E:\py\python3.7\test\test98youhuashiping\shipingchaifen\pho/'#帧存放路径    video_dir = r'E:\py\python3.7\test\test98youhuashiping\shipingchaifen/test.mp4' #合成视频存放的路径    fps = 30 #帧率,每秒钟帧数越多,所显示的动作就会越流畅    frame2video(im_dir, video_dir, fps)

    提示:路径中不要出现中文和特殊字符,且书写要规范!!

    二、python视频拆分+图片合成(源码二)

    Python怎么实现视频分解成图片及图片合成视频

    import cv2import numpy as npimport osos.chdir(r'E:\py\python3.7\test\test98youhuashiping\chaifen')##读取视频,并逐帧分解成图片cap = cv2.VideoCapture('1.mp4')  #打开一个视频isOpened = cap.isOpened() #判断是否打开print(isOpened)#获取视频的相关信息,视频的每一帧图片的宽度都是一致的fps = cap.get(cv2.CAP_PROP_FPS) #帧率,即每秒钟由多少张图片组成width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) #获取宽度height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) #获取高度print(fps,width,height)  #输出相关信息i = 0  while (isOpened):    #读取视频的前两秒的图像,共计2*int(fps)张    if i ==int(fps)*2 :          break    else:        i = i+1    (flag,frame) = cap.read() #读取每一张 flag frame    filename = 'image'+str(i)+'.jpg'    #将读取的图片写入文件中,    if flag == True:        cv2.imwrite(filename,frame,[cv2.IMWRITE_JPEG_QUALITY,100])  #确定图片质量,100算是高的print('end!')   ##读取零散图片(上面分解的图片),并将其合成视频img = cv2.imread('image1.jpg')imginfo = img.shapesize = (imginfo[1],imginfo[0])  #与默认不同,opencv使用 height在前,width在后,所有需要自己重新排序print(size)#创建写入对象,包括 新建视频名称,每秒钟多少帧图片(10张) ,size大小#一般人眼最低分辨率为19帧/秒videoWrite = cv2.VideoWriter('2.mp4',-1,10,size) for i in range(1,40):    filename = 'image'+str(i)+'.jpg'    img = cv2.imread(filename,1)  #1 表示彩图,0表示灰度图          #直接写入图片对应的数据    videoWrite.write(img)  videoWrite.release() #关闭写入对象print('end')

    三、python视频拆分(源码三)

    Python怎么实现视频分解成图片及图片合成视频

    import cv2 #导入opencv模块import osimport time def video_split(video_path,save_path):    '''    对视频文件切割成帧    '''    '''    @param video_path:视频路径    @param save_path:保存切分后帧的路径    '''    vc=cv2.VideoCapture(video_path)    #一帧一帧的分割 需要几帧写几    c=0    if vc.isOpened():        rval,frame=vc.read()    else:        rval=False    while rval:        rval,frame=vc.read()        # 每秒提取2帧图片        if c % 2 == 0:            cv2.imwrite(save_path + "/" + str('%06d'%c)+'.jpg',frame)            cv2.waiTKEy(1)        c=c+1 DATA_DIR = r"E:\py\python3.7\test\test98youhuashiping\ceshi\mp4" #视频数据主目录 SAVE_DIR = r"E:\py\python3.7\test\test98youhuashiping\ceshi\pho2" #帧文件保存目录 start_time = time.time()for parents,dirs,filenames in os.walk(DATA_DIR):    #if parents == DATA_DIR:    #    continue     print("正在处理文件夹",parents)    path = parents.replace("\\","//")    f = parents.split("\\")[1]    save_path = SAVE_DIR + "//" + f    # 对每视频数据进行遍历    for file in filenames:        file_name = file.split(".")[0]        save_path_ = save_path + "/" + file_name        if not os.path.isdir(save_path_):            os.makedirs(save_path_)        video_path = path + "/" + file        video_split(video_path,save_path_) end_time = time.time()print("Cost time",start_time - end_time)

    关于“Python怎么实现视频分解成图片及图片合成视频”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python怎么实现视频分解成图片及图片合成视频”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

    --结束END--

    本文标题: Python怎么实现视频分解成图片及图片合成视频

    本文链接: https://www.lsjlt.com/news/326226.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Python怎么实现视频分解成图片及图片合成视频
      这篇文章主要介绍了Python怎么实现视频分解成图片及图片合成视频的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么实现视频分解成图片及图片合成视频文章都会有所收获,下面我们一起来看看吧。一、pyt...
      99+
      2023-06-29
    • Python实现视频分解成图片+图片合成视频
      目录一、python视频拆分+图片合成(源码一)1.python视频拆分2.python图片合成二、python视频拆分+图片合成(源码二)三、python视频拆分(源码三)一、py...
      99+
      2022-11-13
    • OpenCV+python3实现视频分解成图片
      OpenCV+python3将视频分解成图片,供大家参考,具体内容如下 我们在工作或学习时,偶尔需要将视频分解成图片,只取其中一段的图片就行了,而在网上下载转换工具又3比较麻烦,现在...
      99+
      2022-11-12
    • Python如何实现合并多张图片成视频
      本篇内容介绍了“Python如何实现合并多张图片成视频”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!合并多张图片到视频的方法说明除了使用 O...
      99+
      2023-07-05
    • python怎么将图片生成视频MP4
      本篇内容主要讲解“python怎么将图片生成视频MP4”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么将图片生成视频MP4”吧!python图片生成视频MP4import ...
      99+
      2023-07-05
    • Python实现合并多张图片成视频的示例详解
      目录合并多张图片到视频的方法说明moviepy 将多张图片合成视频导入所需模块创建 ImageSequenceClip 对象保存视频moviepy 合成多张图片更多配置名词解释FFm...
      99+
      2023-02-01
      Python合并图片成视频 Python合并图片 Python 图片 视频
    • 基于Python怎么实现合并多张图片转成mp4视频
      一、需要调入的模块1、imageio模块Python模块imageio是一个用于读取和写入图像及视频数据的库。它支持多种格式,并且可以使用NumPy数组进行操作。以下是一些关键的函数:imageio.imread():从文件中读取图像数据并...
      99+
      2023-05-15
      Python
    • 基于Python实现合并多张图片转成mp4视频
      目录前言一、需要调入的模块1、imageio模块2、Image 模块二、实现合并多张图片转成 mp4 视频三、优化改进一下总结前言 随着现代科技飞速发展和人们提升视觉上体验,利用图片...
      99+
      2023-05-15
      Python合并图片转成视频 Python合并图片 Python 图片转视频
    • 基于Python如何实现合并多张图片转成mp4视频
      这篇文章主要介绍“基于Python如何实现合并多张图片转成mp4视频”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于Python如何实现合并多张图片转成mp4视频”文章能帮助大家解决问题。一、需要...
      99+
      2023-07-06
    • Python怎么实现将多张图片合成视频并加入背景音乐
      这篇文章主要介绍“Python怎么实现将多张图片合成视频并加入背景音乐”,在日常操作中,相信很多人在Python怎么实现将多张图片合成视频并加入背景音乐问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Pytho...
      99+
      2023-06-30
    • Python实现将多张图片合成视频并加入背景音乐
      实现的思路:将准备好的图片通过opencv读取出来,并将其设置好帧数等参数后合成为无声视频。 最后通过moviepy编辑视频将背景音乐加入到视频中。 开始之前还是需要说明一下非标...
      99+
      2022-11-10
    • 大数据中怎么将图片转换成视频
      本篇文章给大家分享的是有关大数据中怎么将图片转换成视频,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。将图片转换成视频你是这么做的呢?WPS演示如何将图片转换成视频?现在的人们对...
      99+
      2023-06-02
    • Python 图片视频模糊化实现案例
      目录前言环境依赖代码前言 本文主要分享一个可以将图片或者视频模糊化的工具代码。技术路线主要是使用ffmpeg滤镜。 环境依赖 ffmpeg环境部署,依赖包下载,给大家介绍一个调用f...
      99+
      2022-11-12
    • 怎么使用python反转图片和视频
      这篇文章将为大家详细讲解有关怎么使用python反转图片和视频,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long...
      99+
      2023-06-14
    • Python怎么实现图片和视频的相互转换
      本篇内容主要讲解“Python怎么实现图片和视频的相互转换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现图片和视频的相互转换”吧!使用背景有时候我们需要把很多的图片合成视频,...
      99+
      2023-06-22
    • Python实现图片和视频的相互转换
      目录使用背景一、视频转图像二、图像转视频使用背景 有时候我们需要把很多的图片合成视频,或者说自己写一个脚本去加快或者放慢视频; 也有时候需要把视频裁剪成图片,进行后续操作。 这里提供...
      99+
      2022-11-12
    • Python怎么实现视频下载与合成
      本文小编为大家详细介绍“Python怎么实现视频下载与合成”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么实现视频下载与合成”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。模块使用requests ...
      99+
      2023-06-30
    • Android 录制手机屏幕视频生成GIF图片实例详解
      Android 录制手机屏幕视频生成GIF图片实例详解 无图无真相,在我们日常的网络交流中往往需要给交流对象提供直观的显示,而视频是一个很好的方式,但是视频需要播放器,还需要当...
      99+
      2022-06-06
      手机屏幕 手机 Android
    • 怎么用Python实现多个MP4合成视频
      这篇文章主要介绍“怎么用Python实现多个MP4合成视频”,在日常操作中,相信很多人在怎么用Python实现多个MP4合成视频问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python实现多个MP4合...
      99+
      2023-06-20
    • Android应用中怎么实现一个录制视频生成GIF图片功能
      今天就跟大家聊聊有关Android应用中怎么实现一个录制视频生成GIF图片功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。首先打开AS,连接上手机,打开你要录制的程序或者视频打开A...
      99+
      2023-05-31
      android roi
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作