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

江西盘盟网络科技有限公司 2026/09/09 17:58:05
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)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

青岛网站建设公司seo网站建设

Navicat Mac版试用期重置终极方案:一键解锁完整功能【免费下载链接】navicat_reset_macnavicat16 mac版无限重置试用期脚本项目地址: https://g

2026/06/30 12:02:29

营销网站建设东莞南城网站建设

想要在金融领域快速部署智能文本分析系统?FinBERT2正是你需要的解决方案!作为专为金融文本设计的预训练语言模型,它基于320亿Token的中文金融语料深度

2026/06/30 11:50:27

建设官方网站网站建设内容

艺术涂料行业深度分析:卡百利的技术破局与价值重构行业痛点分析当前艺术涂料领域面临三大技术挑战:耐候性不足导致色彩褪变(测试显示,普通艺术涂料在紫

2026/06/30 14:01:08

建设银行网站郑州网站建设公司

Windows系统权限管理技术解析:RunAsTI工具的原理与应用【免费下载链接】LeanAndMeansnippets for power users项目地址: https://git

2026/06/30 11:28:55

庆网站建设网站建设便宜

从零开始搭建FPGA开发环境:vivado2021.1安装实战全记录你是不是也曾在搜索引擎里反复输入“vivado2021.1安装教程”,只为让那个进度条顺利走完ÿ

2026/06/30 13:42:07

莱芜网站建设网站建设需要

零基础图片转3D立体浮雕:5分钟搞定可打印模型终极教程【免费下载链接】ImageToSTLThis tool allows you to easily convert any image

2026/06/30 12:48:03

网站建设合同宁波外贸网站建设

在浩瀚的学术海洋中,一篇扎实、全面、逻辑清晰的“文献综述”是任何研究工作的基石。它不仅是对前人研究成果的系统性梳理,更是确立自身研究价值与创新点的关键环节。然而࿰

2026/06/30 13:16:35

濮阳网站建设西安企业网站建设

1. 为什么这个毕设项目值得你 pick ?毕设选题不用愁!本设计以学贷通智慧管理系统为核心,旨在优化学生管理、贷款申请与发放、还款及费用支出等流程。系统采用了Spring

2026/06/30 10:28:50

龙岗网站建设泉州网站建设

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visu

2026/06/30 12:46:32