服装企业网站源码友情链接网

张小明 2026/1/13 11:29:54
服装企业网站源码,友情链接网,教育局网站群建设方案,轻媒做的网站【PYTHON】视频转图片 一、前期准备#xff1a;安装依赖库二、方案1#xff1a;基础版 - 按帧提取#xff08;提取所有帧/每隔N帧提取#xff09;完整代码 三、方案2#xff1a;进阶版 - 按时间间隔提取#xff08;更精准可控#xff09;完整代码 四、核心功能说明1. 关…【PYTHON】视频转图片一、前期准备安装依赖库二、方案1基础版 - 按帧提取提取所有帧/每隔N帧提取完整代码三、方案2进阶版 - 按时间间隔提取更精准可控完整代码四、核心功能说明1. 关键函数与参数2. 实用优化点五、使用注意事项六、标注工具推荐一、前期准备安装依赖库核心使用opencv-pythonOpenCV库处理视频和图像这是Python视觉处理的主流库先通过pip安装# 安装opencv-pythonpipinstallopencv-python# 若需处理特殊视频格式如MP4编码问题可额外安装ffmpeg可选# Windows下载ffmpeg并配置环境变量Ubuntusudo apt install ffmpegMacbrew install ffmpeg二、方案1基础版 - 按帧提取提取所有帧/每隔N帧提取适合大多数标注场景可灵活设置提取间隔避免图片过多冗余。完整代码importcv2importosdefvideo_to_images_basic(video_path,# 输入视频文件路径如test.mp4output_dir,# 输出图片文件夹路径frame_interval30,# 提取间隔每30帧提取1张默认30帧对应1秒/帧可调整img_formatjpg,# 输出图片格式jpg/png推荐jpg占用空间小img_prefixframe# 图片文件名前缀如frame_0001.jpg):# 1. 创建输出文件夹若不存在则自动创建ifnotos.path.exists(output_dir):os.makedirs(output_dir)print(f创建输出文件夹{output_dir})# 2. 打开视频文件capcv2.VideoCapture(video_path)ifnotcap.isOpened():raiseValueError(f无法打开视频文件{video_path})# 3. 获取视频基本信息total_framesint(cap.get(cv2.CAP_PROP_FRAME_COUNT))# 视频总帧数fpscap.get(cv2.CAP_PROP_FPS)# 视频帧率每秒帧数print(f视频信息总帧数{total_frames}帧率{fps:.2f}预计提取图片数{total_frames//frame_interval1})# 4. 循环提取帧并保存frame_count0# 当前帧计数器saved_count0# 已保存图片计数器whileTrue:# 读取一帧视频ret,framecap.read()# 若读取失败已到视频末尾退出循环ifnotret:break# 按间隔提取帧ifframe_count%frame_interval0:# 构造图片文件名补零对齐方便排序img_namef{img_prefix}_{saved_count:04d}.{img_format}img_pathos.path.join(output_dir,img_name)# 保存图片cv2.imwrite(img_path,frame)print(f已保存{img_path})saved_count1frame_count1# 5. 释放资源cap.release()print(f\n转换完成共保存{saved_count}张图片存储路径{output_dir})# ------------------- 调用示例 -------------------if__name____main__:# 配置参数VIDEO_PATHinput_video.mp4# 你的视频文件路径OUTPUT_DIRextracted_images# 图片输出文件夹FRAME_INTERVAL30# 每30帧提取1张1秒1张若视频帧率25则每1.2秒1张# 执行转换video_to_images_basic(video_pathVIDEO_PATH,output_dirOUTPUT_DIR,frame_intervalFRAME_INTERVAL,img_formatjpg)三、方案2进阶版 - 按时间间隔提取更精准可控适合需要按固定时间间隔如每2秒提取1张的场景比按帧间隔更直观不受视频帧率影响。完整代码importcv2importosdefvideo_to_images_by_time(video_path,# 输入视频文件路径output_dir,# 输出图片文件夹路径time_interval1.0,# 时间间隔每1.0秒提取1张可调整如2.0每2秒1张img_formatjpg,# 输出图片格式img_prefixframe# 图片文件名前缀):# 1. 创建输出文件夹ifnotos.path.exists(output_dir):os.makedirs(output_dir)print(f创建输出文件夹{output_dir})# 2. 打开视频文件capcv2.VideoCapture(video_path)ifnotcap.isOpened():raiseValueError(f无法打开视频文件{video_path})# 3. 获取视频基本信息total_framesint(cap.get(cv2.CAP_PROP_FRAME_COUNT))fpscap.get(cv2.CAP_PROP_FPS)video_durationtotal_frames/fps# 视频总时长秒frame_intervalint(fps*time_interval)# 换算为帧间隔print(f视频信息总帧数{total_frames}帧率{fps:.2f}总时长{video_duration:.2f}秒)print(f时间间隔{time_interval}秒对应帧间隔{frame_interval}帧预计提取图片数{int(video_duration//time_interval)1})# 4. 循环提取帧并保存frame_count0saved_count0last_saved_time0.0# 上一次保存图片的时间whileTrue:ret,framecap.read()ifnotret:break# 获取当前帧对应的时间秒current_timeframe_count/fps# 按时间间隔保存ifcurrent_time-last_saved_timetime_interval:img_namef{img_prefix}_{saved_count:04d}.{img_format}img_pathos.path.join(output_dir,img_name)cv2.imwrite(img_path,frame)print(f时间{current_time:.2f}秒已保存{img_path})saved_count1last_saved_timecurrent_time frame_count1# 5. 释放资源cap.release()print(f\n转换完成共保存{saved_count}张图片存储路径{output_dir})# ------------------- 调用示例 -------------------if__name____main__:VIDEO_PATHinput_video.mp4OUTPUT_DIRextracted_images_by_timeTIME_INTERVAL2.0# 每2秒提取1张图片video_to_images_by_time(video_pathVIDEO_PATH,output_dirOUTPUT_DIR,time_intervalTIME_INTERVAL,img_formatjpg)四、核心功能说明1. 关键函数与参数cv2.VideoCapture(video_path)打开视频文件返回视频捕获对象cap.read()读取一帧视频返回(ret, frame)ret为布尔值是否读取成功frame为当前帧图像numpy数组cap.get(cv2.CAP_PROP_FRAME_COUNT)获取视频总帧数cap.get(cv2.CAP_PROP_FPS)获取视频帧率每秒播放的帧数cv2.imwrite(img_path, frame)将帧图像保存为图片文件核心参数调整frame_interval方案1帧间隔数值越大提取图片越少推荐30对应1秒1张time_interval方案2时间间隔按需设置如0.5每0.5秒1张5.0每5秒1张。2. 实用优化点文件夹自动创建无需手动创建输出文件夹代码会自动判断并创建文件名补零对齐图片名格式为frame_0001.jpg方便后续标注软件按顺序加载格式灵活选择支持jpg占用空间小和png无损压缩适合高精度标注进度打印实时打印保存路径方便查看转换进度资源释放使用cap.release()释放视频资源避免内存泄漏。五、使用注意事项视频路径问题若使用相对路径需将视频文件放在Python脚本同一目录下绝对路径示例WindowsD:/videos/test.mp4Linux/Mac/home/user/videos/test.mp4图片冗余控制标注时无需提取所有帧建议按1~3秒间隔提取避免图片过多增加标注工作量若视频画面变化缓慢如监控视频可增大间隔如5~10秒编码问题处理若出现“无法打开视频”或“保存图片失败”大概率是视频编码不兼容可先用FFmpeg转换为MP4格式ffmpeg -i input.avi -c:v libx264 output.mp4内存占用处理超长视频时无需担心内存溢出代码逐帧读取并保存不会缓存全部帧。六、标注工具推荐转换后的图片可使用以下主流标注工具进行标注LabelImg轻量级图形化标注工具支持VOC/YOLO格式适合目标检测标注LabelMe支持多边形、关键点等复杂标注适合语义分割、实例分割标注CVAT工业级标注平台支持批量标注、多人协作适合大规模数据集标注。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

ae做的动效怎么放在网站上淘宝有做钓鱼网站的吗

古诗词打卡学习小程序 - 产品介绍 项目概述 古诗词打卡学习小程序是一款专为诗词爱好者设计的学习工具,特别适合中老年用户群体。该小程序收录了15首经典古诗词,包括《静夜思》、《春晓》、《登鹳雀楼》、《游子吟》、《九月九日忆山东兄弟》等传世名篇&…

张小明 2026/1/7 22:38:02 网站建设

设计网站做多大合适餐厅网站开发背景

JELOS:专为掌机打造的轻量级Linux操作系统 【免费下载链接】distribution Home of the JELOS Linux distribution. 项目地址: https://gitcode.com/gh_mirrors/di/distribution 你是否曾经梦想拥有一款专门为掌上游戏设备优化的操作系统?JELOS&am…

张小明 2026/1/7 22:38:03 网站建设

江苏建设工程造价管理网站全国好的深圳网站设计

AI视频编辑新利器:FaceFusion支持表情迁移与年龄变化在影视制作、虚拟直播和社交媒体内容爆发的今天,观众对视觉真实感与情感表达的要求越来越高。一个角色需要从青年演到暮年,一位主播希望在不露脸的情况下保持生动表情,或者短视…

张小明 2026/1/7 22:38:04 网站建设

h5响应式音乐网站模板移动端网站设计尺寸

Dexmaker:Android动态代码生成利器实战指南 【免费下载链接】dexmaker 项目地址: https://gitcode.com/gh_mirrors/dex/dexmaker Dexmaker作为Android平台上的动态代码生成框架,为开发者提供了在运行时创建和操作DEX字节码的强大能力。本文将带你…

张小明 2026/1/7 22:38:06 网站建设

长沙网站建计网络系统工程设计是干什么的

实战精通Mermaid:2025最实用的文本图表解决方案 【免费下载链接】mermaid mermaid-js/mermaid: 是一个用于生成图表和流程图的 Markdown 渲染器,支持多种图表类型和丰富的样式。适合对 Markdown、图表和流程图以及想要使用 Markdown 绘制图表和流程图的开…

张小明 2026/1/7 22:38:07 网站建设