百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python-连续图片合成视频_python合并照片并转pdf

off999 2025-08-31 08:02 11 浏览 0 评论

前言

很多时候,我们需要将图片直接转成视频。下面介绍用python中的OpenCV将进行多张图合成视频。

cv2安装

不要直接用pip install cv2,这会报错。有很多人建议用打开window自带的cmd,然后运行 pip install opencv-python ,但是我这样操作失败了。

下面介绍自己去下载Python3.7安装cv2:

(1) cv2文件下载。我用的是python3.7,选择cv2文件是
opencv_python-3.4.3.18-cp37-cp37m-win_amd64.whl,进行下载,
https://pypi.tuna.tsinghua.edu.cn/simple/opencv-python/

(2) 下载完成后,我将下载文件放在了桌面,文件地址如下:C:\Users\stranger\Desktop\
opencv_python-3.4.3.18-cp37-cp37m-win_amd64.whl

(3) win 10系统下直接搜索cmd,打开命令提示符,如下图:


(4) 更改路径,记得再加 cd,将目录改成桌面,语句如下:cd C:\Users\stranger\Desktop

(5) 如果没有安装pip,请先安装pip。然后运行语句:pip install
opencv_python-3.4.3.18-cp37-cp37m-win_amd64.whl,即可安装完毕



照片尺寸批量统一

在用这个cv2进行多张图片转视频时,运行cv2.VideoWriter需要统一照片尺寸,否则即使输出视频也没有内容。

import os.path
import glob
from tqdm import tqdm
from PIL import Image
#提取目录下所有图片,更改尺寸后保存到另一目录
def unifyszie(jpgfile,outdir,width,height):
    img=Image.open(jpgfile)
    try:
        new_img=img.resize((width,height),Image.BILINEAR)   
        new_img.save(os.path.join(outdir,os.path.basename(jpgfile)))
    except Exception as e:
        print(e)
#输入图片路径为inputpath,保存图片路径为savepath
def savefig(inputpath,savepath,width,height):
    for jpgfile in tqdm(glob.glob(inputpath)):
        print(jpgfile)
        unifyszie(jpgfile,savepath,width,height)

inputpath = "F:/BaiduNetdiskDownload/figure/*.jpg"
savepath ="F:/BaiduNetdiskDownload/resizeimg"
#width,height代表修改后的图片的宽和高
savefig(inputpath,savepath,1000,700)

opencv 将连续图片保存为视频格式

准备工作都做完,下面开始进行视频的制作。代码如下:

import os
import pandas as pd
import numpy as np
import time
import cv2

#创建读取的文件列表
filelist=[]
#读取的文件路径
path ='F:/BaiduNetdiskDownload/resizeimg/'
filelist=os.listdir(path)
#可以用.sort函数进行图片的排序 如:filelist.sort(key=lambda x:int(x)) #x只含有数字时
fps=1#每秒读取的照片数
size=(1000,700) #需要转为视频的图片的尺寸,要求土拍你尺寸一致
file_path = str(int(time.time()))+'.avi'#保存的路径和格式
fourcc = cv2.VideoWriter_fourcc('I','4','2','0')#'I','4','2','0' 对应avi格式)
video =cv2.VideoWriter(file_path,fourcc,fps,size)
for item in filelist:
    print(item)
    if item.endswith('.jpg'):#判断图片后缀是否是.jpg
        item =path+item #路径与文件名组成文件路径
        img=cv2.imread(item)#使用opencv读取图像,直接返回numpy.ndarray 对象,通道顺序为BGR ,注意是BGR,通道值默认范围0-255。
        video.write(img) #把图片写进视频
video.release() #释放
print('finish')

VideoWriter()函数的使用

依据OpenCV3.4版本文档中对VideoWriter()函数的描述,使用方法如下:

VideoWriter(const String &filename, int fourcc, double fps, Size frameSize, bool isColor=true)

VideoWriter()的参数有filename, fourcc, fps, frameSize, isColor。下面我们就来逐个的解释:

  • filename:需要生成的视频的名字
  • fourcc:用于压缩框架的解码器的4位编码(four code of codec),你在这个链接里可以查找到可用的4位码(http://www.fourcc.org/codecs.php)
  • fps:每秒的视频帧数(framrate persecond)
  • frameSize:视频画面的尺寸(这里需要与用于合成视频的图片尺寸一致)
  • isColor:如果该位置为Ture,解码器会进行颜色框架的解码,否则会使用灰度进行颜色架构(该功能仅支持在Windows系统中使用)

视频编码参考

不同视频编码对应不同视频格式(例:'D', 'I', 'V', 'X' 对应mp4格式)

CV_FOURCC('P','I','M','1') = MPEG-1 codec

CV_FOURCC('M','J','P','G') = motion-jpeg codec

CV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codec

CV_FOURCC('D', 'I', 'V', '3') = MPEG-4.3 codec

CV_FOURCC('D', 'I', 'V', 'X') = MPEG-4 codec

CV_FOURCC('U', '2', '6', '3') = H263 codec

CV_FOURCC('I', '2', '6', '3') = H263I codec

CV_FOURCC('F', 'L', 'V', '1') = FLV1 codec

相关推荐

用python3 实现生成二维码代码示例

要实现生成离线二维码,你可以使用qrcode库。下面是一个示例代码:```pythonimportqrcode#生成离线二维码函数defgenerate_qr_code(image_path,...

在 Excel 中实现二维码生成+手机扫码功能,可通过以下 3 种方法操作

在Excel中实现二维码生成+手机扫码功能,可通过以下3种方法操作(附详细步骤):方法1:插入二维码图片(静态)适用:快速生成固定内容的二维码步骤:安装二维码插件(如「BarcodeFon...

Python 生成条形码、二维码 (Code 128、EAN-13、QR code等)

条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流、零售、医疗、教育等各领域。本文将介绍如何使用Python快速生成各种常见的条形码...

Python制作二维码_python制作二维码 插件

文/陈新龙二维码又称二维条码,是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形。而不同种类的二维码遵循的规律就是码制,常用的码制有:DataMatrix...

python如何实现二维码的生成和识别

安装:pipinstallmyqrpipinstallpyzbrpipinstallpil报错请切换pipinstallpillow最后,小编想说:我是一名python开发工程师,...

Python 虚拟环境是什么?它到底是怎么工作的?

刚开始学Python的时候,经常有人会告诉你一句话:“一定要用虚拟环境!”那问题来了:什么是虚拟环境?它为什么这么重要?它背后到底是怎么运作的?先看问题:依赖地狱Python项目往往依赖很多第三...

trae 配置 python 开发环境_python interpreter配置

安装python解释器安装包Anaconda3-2021.05对应python3.8.8版本(兼容win7的最新的Anaconda安装包)安装的时候,选择设置path路径。下载地址mirro...

零基础学MCP(2)| MCP 开发环境配置

2025最新实战指南:10分钟搭建跨平台MCP开发环境,支持Python/Node.js双生态一、环境准备:跨平台兼容方案在开始MCP开发前,确保你的系统满足以下条件:组件要求检测命令操作系统Wind...

实用小技巧:三分钟教会在python使用虚拟环境(virtualenv)

简介virtualenv可以通过搭建虚拟且独立的Python环境,将我们所需的依赖安装进去。这样就可以使每个项目环境与其他项目独立开来,保持环境的干净,同时也解决了包冲突的问题注意win使用虚拟环...

一键搞定环境变量配置:管理员权限下的.bat脚本神器

在Windows系统运维与开发场景中,环境变量配置堪称基础却棘手的环节。手动操作不仅步骤繁琐,还易因路径拼写错误、权限不足导致配置失效。今日热贴中这款“快速设置环境变量脚本.bat”,正以自动化优势...

如何在PyCharm中配置虚拟环境?_pycharm使用虚拟环境

若要使用PyCharm工具开发Flask程序,既可以另行创建新的虚拟环境,也可以使用创建好的虚拟环境进行开发。接下来,在PyCharm工具中新建一个项目,并为该项目配置虚拟环境flask_env。首次...

在MBP上面设置python虚拟环境三步骤

为测试python脚本需求新搞了一台MBP,平常用惯了Windows系统,还没在MAC上整过,经过实践整理配置步骤如下,给有同样需求的小伙伴们参考第一步:pipinstall安装前先确认自己已经安装...

MCP零基础学习(2):开发环境配置指南

2025全新实战指南:10分钟搭建跨平台MCP开发环境,兼容Python与Node.js双生态一、环境准备:跨平台兼容方案在开始MCP开发前,确保你的系统满足以下条件:组件要求检测命令操作系统Wind...

Flask框架学习之环境配置_flask框架安装与配置

Flask框架作为轻量级Web应用框架,最大的特征是轻便灵活,第三方库的选择面广,容易上手,试错成本低。为了帮助大家学习并掌握Flask框架,本文将会带着大家一步步的完成Flask安装的环境配置工作,...

Python 模型部署不用愁!容器化实战,5 分钟搞定环境配置

你是不是也遇到过这种糟心事:花了好几天训练出的Python模型,在自己电脑上跑得顺顺当当,一放到服务器就各种报错。要么是Python版本不对,要么是依赖库冲突,折腾半天还是用不了。别再喊“我...

取消回复欢迎 发表评论: