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

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

湖南营销型网站建设行业网站建设

树莓派摄像头实战:从零搭建低延迟高清视频流服务你有没有试过用几十美元的设备,搭出一套能跟专业监控系统媲美的实时视频流?这不是科幻,而是树莓派 &

2026/06/30 11:20:54

低价网站建设荆州网站建设

文章目录系统截图项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统截图基于协同过滤

2026/06/30 11:49:57

app网站建设六安网站建设

3种方法彻底解决JUnit4测试用例执行顺序混乱问题【免费下载链接】junit4A programmer-oriented testing framework for Java.项目地址: https

2026/06/30 11:19:24

昆山网站建设网站 建设

基于PLC的立体车库,升降横移立体车库设计,立体车库仿真,三层三列立体车库,基于s7-1200的升降横移式立体停车库的设计,基于西

2026/06/30 11:04:53

天津网站建设公司浙江省建设厅网站

救命神器2025专科生必看!10个AI论文平台深度测评与推荐2025年专科生论文写作必备工具测评随着AI技术的快速发展,越来越多的专科生开始借助AI论文平台提升写作效率。然

2026/06/30 12:07:29

建设银行网站网站建设中

还在为无法离线保存B站精彩视频而困扰吗?BiliDownloader作为一款专为B站用户打造的下载工具,凭借其智能解析、多线程下载和现代化界面三大核心优势,让

2026/06/30 12:57:34

网站建设论坛中小企业网站建设

告别机械朗读:IndexTTS 2.0 如何让 AI 语音真正“有情绪”在短视频、虚拟主播和互动内容爆发的今天,我们对语音合成的要求早已不再是“把字念出来”那么简单。用户期

2026/06/30 10:59:23

衡水网站建设机票网站建设

当工业设备与物联网平台相遇时,你是否曾为协议壁垒、数据孤岛和部署复杂度而困扰?在制造业数字化转型的浪潮中,90%的工程师都面临着设备互联的相同困境。今天&#x

2026/06/30 13:24:35

网站建设广州成都 网站建设

GPT-SoVITS语音合成延迟优化实战记录在当前AI驱动的语音交互浪潮中,个性化语音合成已不再是实验室里的“黑科技”,而是逐步走进直播间、智能客服、有声书创作甚至医疗辅助

2026/06/30 10:54:22