news 2026/9/10 0:38:23

每秒钟提取视频25帧

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
每秒钟提取视频25帧
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"\r处理进度: {progress:.1f}% ({saved_count} 帧已保存)", end='') frame_count += 1 # 释放资源 cap.release() print(f"\n完成! 共提取 {saved_count} 帧图像到目录: {output_dir}") if __name__ == "__main__": # 设置视频路径 video_path = r"E:\BaiduNetdiskDownload\mmexport1765869882377.mp4" # 提取帧,每秒25帧 extract_frames(video_path, frames_per_second=25)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 10:26:31

灵活用工费咋算?亲测案例复盘分享

灵活用工费计算逻辑与技术革新:基于天语灵活用工平台的深度解析行业痛点分析当前灵活用工平台领域面临两大核心挑战:算薪效率与合规风险。传统系统在处理复杂用工场景时,常因多维度变量(如工时波动、岗位差异、政策变动&#xff0…

作者头像 李华
网站建设 2026/9/9 20:19:15

2025年12月成都四川工作服厂家推荐:专业品牌排行榜单深度对比分析

一、引言 工作服作为企业形象塑造与员工劳动防护的重要载体,其采购决策直接关系到企业运营成本控制、品牌视觉统一性及员工安全保障。对于成都及周边地区的企事业单位采购负责人、行政管理者以及创业者而言,如何在众多供应商中筛选出具备稳定生产能力、…

作者头像 李华
网站建设 2026/9/10 3:36:05

7个常见错误避免,确保YashanDB实施的成功率

在当前数据驱动的业务环境中,数据库系统作为核心信息基础设施,其性能瓶颈、数据一致性保障及高可用性实现等挑战日益突显。YashanDB作为一款支持多种部署形态的先进数据库系统,集成了行列混合存储、分布式和共享集群架构等多项技术优势&#…

作者头像 李华
网站建设 2026/9/9 5:00:57

从Git仓库获取TensorRT示例代码并运行BERT推理

从Git仓库获取TensorRT示例代码并运行BERT推理 在当前AI应用快速落地的背景下,将大型语言模型高效部署到生产环境已成为工程团队的核心挑战之一。以BERT为代表的Transformer架构虽然在自然语言理解任务中表现出色,但其庞大的参数量和密集的矩阵运算使得…

作者头像 李华
网站建设 2026/9/8 8:55:40

从 paperzz 到 8 款工具:降重 / 降 AIGC 的 “差异化战场”—— 谁能守住学术表达的 “精准与合规”?

学术写作的 “终局考验”,往往藏在初稿完成后的 “细节优化” 里:重复率超标、AIGC 痕迹被检测、表述既冗余又生硬…… 而一批定位 “学术表达优化” 的工具正在涌现 —— 从 paperzz 的 “轻量型精准优化” 到其他工具的 “文献联动降重”“学科化 AIGC…

作者头像 李华