VedioCapture类介绍

论坛 期权论坛 脚本     
匿名技术用户   2020-12-21 13:33   11   0

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 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP