Hor*_*710 20
您可以使用捕获对象的"get"方法,如下所示:
capture.get(CV_CAP_PROP_POS_FRAMES); // retrieves the current frame number
Run Code Online (Sandbox Code Playgroud)
并且 :
capture.get(CV_CAP_PROP_FRAME_COUNT); // retuns the number of total frames
Run Code Online (Sandbox Code Playgroud)
顺便说一下,这些方法返回一个double值.
您还可以使用cvGetCaptureProperty方法.
cvGetCaptureProperty(CvCapture*capture,int property_id);
property_id选项如下所示:
CV_CAP_PROP_POS_MSEC 0
CV_CAP_PROP_POS_FRAME 1
CV_CAP_PROP_POS_AVI_RATIO 2
CV_CAP_PROP_FRAME_WIDTH 3
CV_CAP_PROP_FRAME_HEIGHT 4
CV_CAP_PROP_FPS 5
CV_CAP_PROP_FOURCC 6
CV_CAP_PROP_FRAME_COUNT 7
POS_MSEC是视频文件中的当前位置,以毫秒为单位.POS_FRAME是帧编号中的当前位置.POS_AVI_RATIO是以0到1之间的数字给出的位置(当您想要定位轨迹栏以允许人们浏览您的视频时,这实际上非常有用).FRAME_WIDTH和FRAME_HEIGHT是要读取(或在相机的当前设置下捕获)视频的各个帧的尺寸.FPS特定于视频文件,并指示捕获视频的每秒帧数; 如果您想播放视频并以合适的速度播放,您需要知道这一点.FOURCC是用于您当前正在阅读的视频的压缩编解码器的四字符代码.FRAME_COUNT应该是视频中的总帧数,但这个图片并不完全可靠.(来自Learning OpenCV的书)
小智 5
OpenCV python 中的实现方式是这样的:
import cv2
cam = cv2.VideoCapture(<filename>);
print cam.get(cv2.cv.CV_CAP_PROP_POS_FRAMES)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19216 次 |
| 最近记录: |