OpenCV编程总结
// OpenCV 读取视频
// 方法1. 读取到Mat
VideoCapture cvCap;
Mat matBGR; // 存储帧数据
cvCap.open(szVideoName);
if (!cvCap.isOpened())
{
return;
}
while(TRUE)
{
cvCap >> matBGR; // 读取一帧,注意:matBGR.data为 uchar BGR格式
// 读取视频结束
if (NULL == matBGR.data)
{
matBGR.release();
cvCap.release();
cvCap.open(szVideoName); // 循环读取
cvCap >> matBGR;
matBGR.data; // 访问像素
}
}
// 方法2. 读取到IplImage
CvCapture *pCapture = NULL;
IplImage *pBGR = NULL;
pCapture = cvCaptureFromAVI(szVideoName);
// 或者
pCapture = cvCreateFileCapture(szVideoName);
int iVideoWidth = (int)cvGetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_WIDTH); // videowidth
int iVideoHeight = (int)cvGetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_HEIGHT); // videoheight
int iVideoFrameNum = (int)cvGetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_COUNT); // 总帧数
int iVideofps