OpenCV 以MJPEG的格式 读取摄像头数据
【摘要】 OpenCV 以MJPEG的格式 读取摄像头数据:源代码:#include"highgui.h"#include"cv.h"//从摄像头中读入数据int main(int argc,char** argv){cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);CvCapture* capture; //初始化一个CvCapture结构的...
OpenCV 以MJPEG的格式 读取摄像头数据:
源代码:
#include"highgui.h" #include"cv.h" //从摄像头中读入数据 int main(int argc,char** argv) { cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE); CvCapture* capture; //初始化一个CvCapture结构的指针 if(argc==1) { capture=cvCaptureFromCAM(0); //从摄像头中读入数据,并返回一个CvCapture的指针 } //注:《学习OpenCV》中此处用cvCreateCameraCapture为错 else { capture=cvCreateFileCapture(argv[1]); } assert(capture!=NULL); //断言(assert)使用,检查capture是否为空指针,为假时程序退出,并打印错误消息 IplImage* frame; while(1) { frame=cvQueryFrame(capture);//用于将下一帧文件载入内存(实际是填充和更新CvCapture结构中),返回一个对应当前帧的指针 if(!frame) break; cvShowImage("Example1",frame); char c=cvWaitKey(33); if(c==27) break; //出发ESC键退出循环,读入数据停止 } cvReleaseCapture(&capture);//释放内存 cvDestroyWindow("Example1"); }
如果是opencv2 或opencv3 ,更换一下头文件
具体代码如下:
#include <opencv2/opencv.hpp> #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" using namespace cv; using namespace std; //从摄像头中读入数据 int main(int argc,char** argv) { cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE); CvCapture* capture; //初始化一个CvCapture结构的指针 if(argc==1) { capture=cvCaptureFromCAM(0); //从摄像头中读入数据,并返回一个CvCapture的指针 } //注:《学习OpenCV》中此处用cvCreateCameraCapture为错 else { capture=cvCreateFileCapture(argv[1]); } assert(capture!=NULL); //断言(assert)使用,检查capture是否为空指针,为假时程序退出,并打印错误消息 IplImage* frame; while(1) { frame=cvQueryFrame(capture);//用于将下一帧文件载入内存(实际是填充和更新CvCapture结构中),返回一个对应当前帧的指针 if(!frame) break; cvShowImage("Example1",frame); char c=cvWaitKey(33); if(c==27) break; //出发ESC键退出循环,读入数据停止 } cvReleaseCapture(&capture);//释放内存 cvDestroyWindow("Example1"); }
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)