获取视频帧数和总帧数

OpenCV笔记:cv2.VideoCapture 完成视频的跳帧输出操作 不需要对循环读取视频的每一帧进行解析,跳过中间帧,将数据量降低以优化效率。 阅读详情

获取视频帧数和总帧数代码

import cv2
videoPath=input("请输入视屏文件的绝对路径:")
# 将视频文件路径转化为标准的路径
videoPath=videoPath.replace("\\","/").replace('"','').replace("'","").strip()
# 视屏获取
videoCapture=cv2.VideoCapture(videoPath)
# 帧率(frames per second)
fps = videoCapture.get(cv2.CAP_PROP_FPS)
# 总帧数(frames)
frames = videoCapture.get(cv2.CAP_PROP_FRAME_COUNT)
print("帧数:"+str(fps))
print("总帧数:"+str(frames))
print("视屏总时长:"+"{0:.2f}".format(frames/fps)+"秒")

其他
在三维重构或其他项目中,往往需要获取每一张图片的时间戳,这时可以使用如下代码:

import time
print("{:.6f}".format(time.time()))

1
2
demo:

04-应用

import os
import cv2
import time

videoPath=input("请输入视屏文件的绝对路径:")
# 将视频文件路径转化为标准的路径
videoPath=videoPath.replace("\\","/").replace('"','').replace("'","")
# 视屏获取
videoCapture=cv2.VideoCapture(videoPath)
# 帧率(frames per second)
fps = videoCapture.get(cv2.CAP_PROP_FPS)
# 总帧数(frames)
frames = videoCapture.get(cv2.CAP_PROP_FRAME_COUNT)

#图片存储地址:
pathSave="./data/rgb/"
if(os.path.exists(pathSave)!=True):
    os.makedirs(pathSave)

#间隔多少帧取一张图片
skipNum=2  #注:间隔2帧取一个图;
count=0
f=open("./data/"+"rgb.txt","w",encoding="utf-8")
f.write("# timestamp filename\n")
while (True):
    ret,frame=videoCapture.read()
    if(ret):
        if(count%(skipNum+1)==0):
            imgName="{:.6f}".format(time.time()+1.0*skipNum/fps-0.001*skipNum)
            imgPath=" rgb/"+imgName+ '.png'
            cv2.imwrite(pathSave + imgName + '.png', frame) 
            f.write(imgName+imgPath+"\n")
        count+=1
#         cv2.waitKey(int(1.0*skipNum/fps*1000))
        cv2.waitKey(1)
#         time.sleep()
    else:
        print("视屏处理完毕!")
        break
videoCapture.release()
f.close()
mediainfo.js获取视频详细信息,js获取视频帧数 需求:上传视频的时候需要知道该视频的帧数等信息,input的file直接读取是不能读取帧数的 方式:通过引入mediainfo.js来获取视频的帧率和视频的总时长,用帧率*时长得出总帧数 栗子: 上面输出格式是 text 我们可以根据需要将格式设为 json 对象,这样就能获取想要的信息了 //这是text 格式 MediaInfo({ format: 'text' }, (mediainfo) => { fileinput.addEventListener('change', () = 阅读详情

相关推荐

python获取视频帧率,总帧数,python ffmpeg获取视频信息ffmpeg.prob,python opencv获取视频信息cap.get(cv2.CAP_PROP_FRAME_WIDTH)

文章目录1,效果2,ffmpeg获取视频信息2,opencv获取视频信息 1,效果 2,ffmpeg获取视频信息 其中key:‘streams’对应的值是一个list,list中有两个dict类型的值,分别表示视频中视频流和音频流的相关信息。 key:‘format’对应的值是一个dict,其中包含了视频的相关的格式信息、视频时长信息、文件大小信息等。 import ffmpeg de...

m0_37542524的博客 2万+

在opencv中如何设置和获取帧速率

在 OpenCV 中,可以使用 cv2.CAP_PROP_FPS 属性来设置和获取帧速率。 设置帧速率的示例代码如下: import cv2 # 打开摄像头 cap = cv2.VideoCapture(0) # 设置帧速率为 30 fps cap.set(cv2.CAP_PROP_FPS, 30) ...

weixin_42593130的博客 4046

Python实现修改摄像头帧率

现在,我们已经获得了视频流的帧率,接下来需要修改它。为此,我们可以创建一个新的VideoWriter对象,并使用set()函数和CAP_PROP_FPS常量来设置新的帧率。请注意,如果您指定的帧率高于摄像头支持的帧率,则会自动降低帧率。我们可以使用while循环和read()函数来读取视频帧,并使用write()函数将它们写入新视频流中。接下来,我们需要获取视频流的帧率。请注意,如果您的摄像头不支持特定的帧率,则会返回默认帧率。在本篇文章中,我们将介绍如何使用Python编写代码来修改摄像头的帧率。

qq_39605374的博客 1806

opencv-python 测试FPS

# coding=gbk import time import cv2 cap = cv2.VideoCapture('rtsp://admin:tongshang610@192.168.31.56:554//Streaming/Channels/1') # 读取文件 start_time = time.time() counter = 0 # 获取视频宽度 frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) # 获取视频高度 frame_height

雪剑封心 4072

python:实现修改摄像头帧率(附完整源码)

python:实现修改摄像头帧率(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1490

PCL读取点云数据报错:Failed to find match for field ‘x‘/ ‘y‘/ ‘z‘.

原因:使用matlab生成的pcd文件,点云数据是双精度类型,pcl处理的点云数据是单精度类型。解决方案:使用matlab生成的点云坐标单精度化,然后在生成点云加以存储。

little_white138的博客 871

Python获取视屏的帧率和总帧数

Python获取视屏的帧率和总帧数 在机器学习或三维重建等项目中,需要对视频文件进行切片,转化为一张张图片,这时就需要用到Python第三方库cv2 01-cv2安装 在命令行中执行如下代码: pip install opencv-python 02-获取视屏帧数和总帧数代码 import cv2 videoPath=input("请输入视屏文件的绝对路径:") # 将视频文件路径转化为标准的路径 videoPath=videoPath.replace("\\","/").replace('"','')

☜lgl☞ 1万+

利用netmq在相机应用于unity之间传输图像数据

Unity工业相机接入方案解析 本文探讨了在Unity中接入不同品牌工业相机的技术方案。研究发现: Basler相机可直接调用官方DLL(pylonc.net.dll)实现接入 海康和大恒相机因驱动DLL依赖C++组件,无法直接调用 解决方案:通过独立进程(相机应用程序)与Unity进行通信,采用NetMQ实现图像数据传输 技术实现要点: 相机端:使用PublisherSocket发布JPEG图像帧 Unity端:通过SubscriberSocket订阅图像数据 优化:设置高水位线控制缓存帧数,避免数据堆积

weixin_46450859的博客 417

fmpeg获取视频的总帧数

ref:https://blog.youkuaiyun.com/u010368556/article/details/102943897 在ffmpeg中通常使用 ffprobe来获取视频流的总帧数;这种类型的任务是ffprobe擅长的。 命令行: ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 input.m

hjwang1的专栏 8615

【深度强化学习】(2) Double DQN 模型解析,附Pytorch完整代码

Double DQN 算法是 DQN 算法的改进版本,解决了 DQN 算法过估计行为价值的问题。Double DQN 算法不直接通过最大化的方式选取目标网络计算的所有可能 Q 值,而是首先通过估计网络选取最大 Q 值对应的动作。在 Double DQN 框架中存在两个神经网络模型,分别是训练网络与目标网络。这两个神经网络模型的结构完全相同,但是权重参数不同;每训练一段之间后,训练网络的权重参数才会复制给目标网络。

博观而约取,厚积而薄发 1万+

UsualToolCMS-验证码绕过漏洞复现

本文以UsualToolCMS为靶场,复现了验证码绕过漏洞

小小小屿屿屿的博客 920

python OpenCV 按(帧数/时间)间隔截取视频帧

帧率(FPS):每秒钟播放的帧数 1、如果你想直接通过帧数间隔截取视频帧,那直接使用可以使用下面的代码: import cv2 cap = cv2.VideoCapture("./query_video/test_video_0.mp4") c = 1 frameRate = 100 # 帧数截取间隔(每隔100帧截取一帧) while(True): ret, frame ...

David_jiahuan的博客 3万+

MaPLe: Multi-modal Prompt Learning

具体而言,我们在语言分支中附加可学习的上下文标记,并通过耦合函数显式地将视觉 Prompt 置于语言 Prompt 上,以建立它们之间的交互。使用 Prompt 来适应CLIP (语言或视觉) 的单个分支中的表示是次优的,因为它不允许在下游任务上动态调整两个表示空间的灵活性。由此,提出了一种分支感知的多模态 Prompt,通过在两种模态之间共享提示来协调 CLIP 的视觉和语言分支。在 Prompt Tuning 中,必须采取多模态方法获得同时适应 CLIP 的视觉和语言分支,以实现上下文优化的完整性。

weixin_48907099的博客 1054

python3 opencv获取视频的总帧数介绍

import cv2cap=cv2.VideoCapture(path)frames_num=cap.get(7)#get方法参数按顺序对应下表(从0开始编号,比如这里为了获取视频的总帧数,在下表是排第八个的CV_CAP_PROP_FRAME_COUNTpropId–Property identifier. It can be one of the following:CV_CAP_PROP_P...

qhd1994的博客 4万+

TIA博途WINCC的触摸屏VB脚本入门指南(嵌入式)

通过编写事件处理程序,您可以响应触摸屏元素的各种事件,并实现自定义的功能。本文将为您提供TIA博途WINCC触摸屏VB脚本的入门指南,帮助您了解基本的脚本编写和嵌入式开发。假设我们有一个名为"Button1"的按钮元素,当用户点击该按钮时,触发相应的事件处理程序,并在触摸屏上显示一条消息。然后回到触摸屏界面编辑器,在按钮元素的属性窗口中找到"按下"事件,并选择刚才创建的脚本文件作为事件处理程序。现在,当用户点击按钮时,触摸屏将执行相应的事件处理程序,并显示一条消息框,内容为"按钮被点击了!

CodeSageX的博客 4423

PCL 点到面的ICP算法【2024最新版】

经典的点到面的ICP算法。博客长期更新,本文最新更新时间为:2024年10月18日。

点云侠的博客 36万+

【Python-opencv3.4】视频基本操作(帧率,总视频帧数、从第N帧开始播放、播放进度显示、按键控制视频)

一、视频基本操作: 1.读取视频帧率、分辨率、读取视频总帧数、起始播放帧数 2.使用键盘控制视频 3.显示视频播放进度 二、基本操作对应代码 【完整代码】提取码:0vvb 1.读取视频帧率、分辨率、读取视频总帧数 #—————————————————————————————— #————————添加自己的视频播放路径——————————— video_path="F:/Ze...

进一寸有一寸的欢喜 1万+

在 SAP Fiori 中正确配置 Group 角色:从 PFCG 分配到首页呈现的完整链路

摘要:SAP Fiori项目中,用户登录后能否看到应用往往取决于角色配置而非前端开发。关键在于通过PFCG角色将launchpad designer中创建的tile group关联到用户角色。Catalog是应用池,group是用户首页可见的工作区。正确配置后,用户会看到角色对应的默认分组,同时保留个性化调整能力。项目实施中常见问题是应用开发完成但未正确配置group与角色关联,导致业务用户无法在首页看到应用入口。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 167

前端获取视频帧率/帧数

实现方案:使用C语言书写解析MP4文件的方法,编译为wasm,与JS协同用来解析上传的MP4文件,获取视频帧数。 优:体积较小(共30KB) 缺:现在功能相当有限,只实现了MP4获取帧数的功能 (非常欢迎去仓库贡献更多功能代码,https://gitee.com/vividlipi/GerFrameCountForMP4,记得添加测试代码~~) 请点击查看效果-->网页Demo 获...

weixin_36994568的博客 6226

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ffmpeg学习日记605-指令-获取视频的总帧数

获取视频的总帧数

WenCoo的博客 2495

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

opencv计算视频和摄像头的帧数及帧率(FPS)

1、计算总帧数 python代码 import cv2 video_cap = cv2.VideoCapture('video1.mp4') frame_count = 0 all_frames = [] while (True): ret, frame = video_cap.read() if ret is False: break all_fram...

shijingsjy的博客 2万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

利用python-opencv读取视频,计算视频总帧数以及FPS

参考:https://blog.youkuaiyun.com/qq_37902216/article/details/84987894 1、计算总帧数 import os import cv2 video_cap = cv2.VideoCapture('test0116.mp4') frame_count = 0 all_frames = [] while(True): ret, fra...

yyy430的博客 8296

【Python】OpenCV读取视频帧并保存为图片

文章目录cv2.VideoCapture()读取视频帧计算FPS的两种方法读取视频帧并保存为图片Reference cv2.VideoCapture()读取视频帧 import cv2 # 代入OpenCV模块 VIDEO_PATH = 'video.mp4' # 视频地址 video = cv2.VideoCapture(video_path) # 实例化视频对象 retval, frame = video.read() # 逐帧读取 vid = cv2.VideoCapture(0) V

weixin_43799388的博客 2万+

Opencv读取视频获取的总帧数比实际少很多问题

​ opencv读取拉流视频,可能不同的解码器,会导致在调用opencv自身的解码器无法对视频进行解码,导致一部分帧解码失败,导致实际看到的帧数和读取到的帧数相差甚远。​ 在读取一段从摄像头拉流保存下来的8分钟视频,opencv(opencv4.4)获取到的总帧数只有7帧,循环读取解码视频,获取到的帧数也只有7帧,明显此时存在问题。

weixin_44929001的博客 3086

Opencv获取当前视频长宽、总帧数、fps

Opencv提供了类似java中静态变量的参数,可以通过get(参数)获取当前视频的信息,参数类别还是挺多的,按照需求查手册或源码即可。

Ethan_Rich的博客 3311

ffprobe 获取视频每秒总帧数或视频总帧数及视频总时长

ffprobe 获取视频每秒总帧数或视频总帧数及视频总时长

Smallwhitestrive的博客 4211
上一篇: zip命令分卷压缩
下一篇: linux批量复制、移动文件(图片等)
YL_python_C++_java
博客等级 码龄7年 1392粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值