OPencv 获取视频和相机的属性

获取视频、相机属性

  1. CAP_PROP_FPS 帧率:一秒钟有多少福图像
  2. CAP_PROP_FRAME_COUNT: 总帧数,视屏时常:总帧数/帧率
  3. CAP_PROP_POS_FRAMES: 播放帧的位置
  4. CAP_PROP_FRAME_WIDTH HEIGHT 帧的宽度和高度
#include<iostream>
#include<stdio.h>
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/videoio.hpp>
using namespace cv;
using namespace std;

int main(int argc, char *argv)
{
    VideoCapture video;
    video.open("2.mp4");
    if (!video.isOpened())
    {
        cout << "open video failed!" << endl;
        getchar();
        return -1;
    }
    cout << "open video success!" << endl;
    namedWindow("video");
    Mat frame;
    int fps = video.get(CAP_PROP_FPS);
    int s = 30;
    if (fps!=0)
        s = 1000 / fps;
    cout << "Fps is " << fps << endl;
    int fcount = video.get(CAP_PROP_FRAME_COUNT);
    cout << "The number of total frame is " << fcount << endl;
    cout << "total sec is " << fcount / fps << endl;
    s = s / 2;
    for (;;)
    {
        video.read(frame);

        if (frame.empty()) break;
        imshow("video", frame);
        waitKey(s);
    }
    getchar();


    return 0;
}



#include<iostream>
#include<stdio.h>
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/videoio.hpp>
using namespace cv;
using namespace std;

int main(int argc, char *argv)
{
    VideoCapture video;
    video.open("2.mp4");
    if (!video.isOpened())
    {
        cout << "open video failed!" << endl;
        getchar();
        return -1;
    }
    cout << "open video success!" << endl;
    namedWindow("video");
    Mat frame;

    for (;;)
    {
        video.read(frame);

        if (frame.empty()) break;
        int cur = video.get(CAP_PROP_POS_FRAMES);
        if (cur > 90)
        {
            video.set(CAP_PROP_POS_FRAMES, 0);
            continue;
        }
        imshow("video", frame);
        waitKey(30);
    }
    getchar();


    return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值