opencv 可以很方便的读取摄像头,他有一个CvCapture结构体,可以用来操作摄像头。
首先我们先了解下这个结构体。
1.读取视频文件
cvCreateFileCapture(“文件路径”); 返回指针 CvCapture类型。
这个函数是读取一个视频文件,他的返回类似是 CvCapture 类型。读取的时候是一帧一帧的读取,如果返回值类型 空,那么安装解码器(解码器就是看你电脑能不能正确的把各种文件格式的视频解析, 不然 avi格式,mp4格式等等), 或者 看路径对不对。
1.1获取一帧数据
cvQueryFrame(capture);
输入一个CVCapture 类型的指针,该函数主要功能是将视频下一个帧加载到内存,与cvLoadImage 不同,该函数不重新分配内存。
1.2
cvReleaseCapture()
释放视频空间镇。
那么来看看一个都去视频的源码
int main()
{
CvCapture *capture = cvCreateFileCapture("1.mp4");
IplImage *frame = nullptr;
cvNamedWindow("mp4", 1);