VedioCapture类介绍

VedioCapture定义的成员函数

class CV_EXPORTS_W VideoCapture
{
public:
    CV_WRAP VideoCapture();
    CV_WRAP VideoCapture(const string& filename);  //读取视频文件
    CV_WRAP VideoCapture(int device);  //打开摄像头,一般默认为0

    virtual ~VideoCapture();
    CV_WRAP virtual bool open(const string& filename);  //另一种添加打开视频文件的方式
    CV_WRAP virtual bool open(int device);  //打开摄像头,一般默认为0
    CV_WRAP virtual bool isOpened() const//判断视频是否打开
    CV_WRAP virtual void release();         //在程序结束的时候需要运行这个函数释放内存

    CV_WRAP virtual bool grab();
    CV_WRAP virtual bool retrieve(CV_OUT Mat& image, int channel=0);
    virtual VideoCapture& operator >> (CV_OUT Mat& image);
    CV_WRAP virtual bool read(CV_OUT Mat& image);    //读取视频

    CV_WRAP virtual bool set(int propId, double value);  //读取视频时的一些设置
    CV_WRAP virtual double get(int propId);   // 得到所添加视频中的大部分信息

protected:
    Ptr<CvCapture> cap;
};

两种读取视频方式

1. VidoeCapture capture();  //先实例再初始化
capture.open("filename");
2. VideoCapture capture("filename");   //实例同时进行初始化

读取视频中帧在打开视频之后我们就可以定义一个Mat

1然后利用read函数去读取视频帧
Mat frame;
capture.read(frame);                     
2直接读取
Mat frame;
capture >> frame;

我们还可以利用capture.get()获得视频中的很多信息,下面列出一些OpenCV里的一些宏定义,这些都可以利用get或set成员函数来设置或获取

#define CV_CAP_PROP_POS_MSEC       0    //以毫秒计算的当前的位置 
   #define CV_CAP_PROP_POS_FRAMES     1    //以帧计算当前的位置 
   #define CV_CAP_PROP_POS_AVI_RATIO  2     //视频的相对位置,从0到1前面这三个参数应该是跟视频播放,读取相关的动态信息 
   #define CV_CAP_PROP_FRAME_WIDTH    3    //帧宽 
   #define CV_CAP_PROP_FRAME_HEIGHT   4    //帧高度 
   #define CV_CAP_PROP_FPS            5    //帧率 
   #define CV_CAP_PROP_FOURCC         6    //4 字符编码方式 
   #define CV_CAP_PROP_FRAME_COUNT    7    //视频帧数 
   #define CV_CAP_PROP_FORMAT         8    //视频格式 
   #define CV_CAP_PROP_MODE           9    //后端指定值指示当前捕捉的模式. 
   #define CV_CAP_PROP_BRIGHTNESS    10    //图像亮度 (只对摄像头). 
   #define CV_CAP_PROP_CONTRAST      11    //图像对比度(只对摄像头). 
   #define CV_CAP_PROP_SATURATION    12    //图像饱和度(只对摄像头). 
   #define CV_CAP_PROP_HUE           13    //色调(只对摄像头) 
   #define CV_CAP_PROP_GAIN          14    //增益(只对摄像头) 
   #define CV_CAP_PROP_EXPOSURE      15    //曝光(只对摄像头) 
   #define CV_CAP_PROP_CONVERT_RGB   16    //布尔型标记图像是否应该被转换为RGB. 
   #define CV_CAP_PROP_WHITE_BALANCE 17    //白平衡 
   #define CV_CAP_PROP_RECTIFICATION 18    //立体相机的矫正标记


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值