创建视频这个程序旨在自动化处理Fluent输出的图片数据,快速生成视频,适合用于后期分析和演示。
这个程序的主要功能是将当前目录下的图片文件(如.png或.jpg格式)按文件名顺序合成一个MP4格式的视频,并根据用户输入的帧持续时间设置每一帧的显示时间。具体流程如下:
当前目录检测: 程序首先获取当前执行文件所在的目录,确保程序能够找到相应的图片文件。如果程序是以可执行文件形式运行,它会使用sys.executable获取目录,否则使用脚本文件路径。
图片文件收集: 从目录中筛选出所有的图片文件,支持的格式包括.png, .jpg, 和 .jpeg。这些图片会根据文件名排序,以确保按照正确的顺序生成视频。
视频参数设置: 程序通过加载第一张图片来确定视频的尺寸。这个步骤非常重要,因为所有的图片都必须与第一张图片保持相同的分辨率。如果发现图片尺寸不一致,程序会自动调整它们的大小。
视频合成: 使用cv2.VideoWriter将所有图片逐帧写入到一个MP4视频文件中。帧的持续时间由用户输入决定,例如0.1秒表示每帧显示0.1秒。
错误处理: 在处理过程中,程序会检测是否加载失败的图片文件,并给出提示。如果出现任何错误,程序会输出相应的错误信息。
生成至word程序的主要功能是从指定视频文件中提取若干帧,并将这些帧插入到一个Word文档中。通过该程序,用户可以从视频中捕捉关键画面并生成可阅读的报告。具体流程如下:
设置字体样式: set_font_style函数用于设置Word文档中段落的字体样式。默认情况下,字体设为“Times New Roman”,字体大小为12pt,并且兼容东亚字体(如中文)。
视频帧提取: extract_frames_to_word函数是核心部分,它从指定的视频文件中按间隔提取帧,将每一帧保存为临时图片文件,并将这些帧插入到Word文档中。过程如下:
打开视频文件并检查是否成功打开。 获取视频的总帧数和帧率,以计算视频的总时长。 通过计算每个时间点对应的帧数,确保均匀地从视频中提取帧。 将提取的每一帧保存为图片,并插入到Word文档中,同时显示该帧的时间戳(秒数)。 为了保持文件整洁,程序会在插入图片后删除临时生成的帧文件。 保存文档: 提取的帧和时间信息将按顺序插入Word文档,最后保存为指定的文件。
主程序:
程序首先检查当前运行的目录,然后寻找一个名为output.mp4的视频文件。 如果找到该视频文件,它会调用extract_frames_to_word函数进行帧提取和文档生成。 该程序适合用于分析视频中的关键帧,例如在Fluent计算流体力学模拟中从动态图像提取重要时刻的画面,并生成可供阅读和记录的文档。