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

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

关于网站的建设上海公司网站建设

Dify平台在商业AI应用中的核心优势分析在企业竞相拥抱AI的今天,一个现实问题摆在面前:如何让大语言模型(LLM)真正落地到业务场景中

2026/06/30 13:00:04

网站建设方案大连网站建设

DataX Web UI作为开源数据同步工具DataX的可视化管理界面,为企业数据集成提供了直观易用的操作平台。本教程将带您快速完成从环境准备到生产部署的全流程。【免费下载链接】data

2026/06/30 11:11:54

烟台网站建设涪陵网站建设

AI转PSD工具高效应用指南:从入门到精通【免费下载链接】ai-to-psdA script for prepare export of vector objects from Adob

2026/06/30 14:20:09

顺德网站建设网站建设与制作

第一章:为什么90%的开发者都搞不定C语言摄像头图像压缩?真相在这里许多开发者在尝试使用C语言处理摄像头图像压缩时,常常陷入性能瓶颈与内存泄漏的泥潭。问题的核

2026/06/30 12:49:03

中国建设银行官方网站兰州网站建设

Miniconda 环境下如何安全升级 Python 补丁版本在数据科学与 AI 工程实践中,一个看似微不足道的操作——将 Python 从 3.10.6 升级到 3.10.12——可能

2026/06/30 13:34:36

长沙网站建设上海网站建设的

PyTorch-CUDA-v2.9镜像能否用于智能制造缺陷检测?在现代智能工厂的产线上,每分钟都有成百上千个零部件被高速传送带送入视觉检测工位。传统质检依赖人工目检

2026/06/30 12:42:32

网站建设学习义乌网站建设

C#语法和Java语法非常相似,但有以下关键差异:1. 基本结构- 都使用 class 、 public 、 private 等关键字,都有 main 方法&

2026/06/30 12:16:00

松江网站建设怀化网站建设

Vue Admin Template:打造企业级后台管理系统的完美起点【免费下载链接】vue-admin-templateVue 轻量级后台管理系统基础模板项目地址: https://g

2026/06/30 12:20:30

深圳营销型网站建设网站建设与维护

在巴尔干半岛西南角的黑山共和国,一场看不见硝烟的战争正在悄然上演。这场战争没有坦克与导弹,却足以瘫痪国家命脉;没有前线与后方,但每个联网设备都可

2026/06/30 10:09:18