概述
cvCreateFileCapture()通过参数设置确定要读入的avi文件,返回一个指向CvCapture结构的指针。这个结构包括了所有关于要读入avi文件的信息,其中包含状态信息。调用这个函数之后,返回指针所指向的CvCapture结构被初始化到对应的avi文件的开头。
CvCapture是一个结构体,用来保存图像捕获的信息,就像一种数据类型(如int,char等)只是存放的内容不一样,在OpenCv中,它最大的作用就是处理视频时(程序是按一帧一帧读取),让程序读下一帧的位置,CvCapture结构中,每获取一帧后,这些信息都将被更新,获取下一帧回复。
cvQueryFrame(CvCapture* capture):表示从摄像头或者文件中抓取并返回一帧。
IplImage* cvQueryFrame(CvCapture* capture);函数cvQueryFrame从摄像头或者文件中抓取一帧,然后解压并且返回这一帧。这个函数仅仅是函数cvGrabFrame和函数cvRetrieveFrame在一起调用的组合。返回的图像不可以被用户释放或者修改。
cvQueryFrame的参数是CvCapture结构的指针。用来将下一帧视频文件载入内存,返回一个对应当前帧的指针。与cvLoadImage不同的是cvLoadImage为图像分配内存空间,而cvQueryFrame使用已经在cvCapture结构中分配好的内存,这样就没必要通过cvReleaseImage()对这个返回的图像指针进行释放,当CvCapture结构被释放后,每一帧图像对应的内存空间会被释放。
PS: for()
{......if (!(rawImage = cvQueryFrame(capture)))
break;....
}
判断语句,但是执行了抓取图像。(耗费一天的问题之源啊!不过还是很开心 排除/注释 帮我解决了疑惑!继续加油吧!)
最后
以上就是精明柚子为你收集整理的OpenCV学习笔记--cvCreateFileCapture与cvCapture的全部内容,希望文章能够帮你解决OpenCV学习笔记--cvCreateFileCapture与cvCapture所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复