云南网站建设大型网站建设

高斯机电工程设计(广东)有限公司 2026/09/09 20:30:53
import cv2 import os from pathlib import Path def extract_frames(video_path, output_dir=None, frames_per_second=25): """ 从视频中提取帧图像 Parameters: video_path (str): 视频文件路径 output_dir (str): 输出目录,默认为视频同名文件夹 frames_per_second (int): 每秒提取的帧数 """ # 创建输出目录 if output_dir is None: video_name = Path(video_path).stem output_dir = f"E:BaiduNetdiskDownload\{video_name}_frames" os.makedirs(output_dir, exist_ok=True) # 打开视频文件 cap = cv2.VideoCapture(video_path) if not cap.isOpened(): print(f"无法打开视频文件: {video_path}") return # 获取视频基本信息 fps = cap.get(cv2.CAP_PROP_FPS) total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) duration = total_frames / fps print(f"视频信息:") print(f" 路径: {video_path}") print(f" FPS: {fps}") print(f" 总帧数: {total_frames}") print(f" 时长: {duration:.2f} 秒") print(f" 每秒提取帧数: {frames_per_second}") # 计算提取间隔 frame_interval = fps / frames_per_second print(f" 提取间隔: 每 {frame_interval} 帧提取一次") frame_count = 0 saved_count = 0 while True: ret, frame = cap.read() if not ret: break # 更精确的帧采样判断 expected_frame_number = round(saved_count * (fps / frames_per_second)) if frame_count >= expected_frame_number: # 生成文件名 timestamp = frame_count / fps filename = f"frame_{saved_count:06d}_{timestamp:.3f}s.jpg" filepath = os.path.join(output_dir, filename) # 保存高质量JPEG图像 cv2.imwrite(filepath, frame, [cv2.IMWRITE_JPEG_QUALITY, 95]) saved_count += 1 # 显示进度 progress = (frame_count / total_frames) * 100 print(f"
处理进度: {progress:.1f}% ({saved_count} 帧已保存)", end='') frame_count += 1 # 释放资源 cap.release() print(f"
完成! 共提取 {saved_count} 帧图像到目录: {output_dir}") if __name__ == "__main__": # 设置视频路径 video_path = r"E:BaiduNetdiskDownloadmmexport1765869882377.mp4" # 提取帧,每秒25帧 extract_frames(video_path, frames_per_second=25)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

合肥网站建设宝安网站建设

终极指南:5分钟快速上手DeepSeek-Prover-V2数学证明AI助手【免费下载链接】DeepSeek-Prover-V2-671B项目地址: https://ai.gitcode

2026/06/30 13:15:35

南充网站建设推广网站建设

Mirai Console QQ机器人框架终极指南:打造智能化聊天助手的完整教程 🚀【免费下载链接】mirai-consolemirai 的高效率 QQ 机器人控制台项目

2026/06/30 13:36:36

网站建设方案网站设计建设

Java布局管理器全解析:从基础到高级应用1. 布局管理器概述在Java中,设计复杂的图形用户界面(GUI)时,布局管理器起着至关重要的作用。它们帮助我们控制GUI组件的大小和位置,使应用程序更易于理

2026/06/30 12:38:02

网站建设方案书宝山网站建设

GPT-SoVITS能否用于生成天气预报语音内容?在城市清晨的广播里,一声温润熟悉的女声播报着“今天晴转多云,气温18到25摄氏度”,语气平稳、

2026/06/30 14:16:39

成都公司网站建设宿州网站建设

自动标注与手动修正协同:构建高质量 LoRA 训练数据的实用路径在图像生成模型日益普及的今天,个性化微调已成为从“用好模型”迈向“拥有模型”的关键一步。无论是艺术家希望复现

2026/06/30 11:11:54

西安网站建设公司网站建设需要

摘要随着城市化进程的加快和汽车保有量的持续增长,停车难问题日益凸显,传统停车场管理模式效率低下,难以满足现代社会的需求。智能化的停车场管理系统能够有效提升车位

2026/06/30 10:47:52

泸州网站建设上海门户网站建设

QQ音乐加密音频一键解密:qmcdump转换工具完全指南【免费下载链接】qmcdump一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3&#x

2026/06/30 13:55:38

网站建设规划书大庆网站建设

微信好友批量添加神器:3分钟搞定200个好友请求【免费下载链接】auto_add_wechat_friends_py微信添加好友 批量发送添加请求 脚本 python项目地址: http

2026/06/30 12:03:29

长春网站建设网站建设的意义

基于能量分配的光伏混合储能系统仿真模型 ①光伏:采用mppt控制实现最大功率跟踪 ②蓄电池与超级电容:构成混合储能系统,电池实现连续功率供应,超

2026/06/30 13:00:04