通过移植MJPG-streamer到ARM上,即可将USB摄像头的视频流通过http协议发送到电脑浏览器上显示。
但是如何获取视频流用于opencv做视频图像处理呢?其实很简单,只需要给cvCaptureFromFile函数传递视频流URL地址即可。
这里需要注意个问题就是需要在URL后面加上?dummy=param.mjpg,否则opencv会提示找到解码器。
下面给出代码:
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
int main()
{
CvCapture* capture = cvCaptureFromFile("http://192.168.1.101:8080/?action=stream?dummy=param.mjpg");
IplImage* frame;
cvNamedWindow("frame");
while(frame = cvQueryFrame(capture))
{
cvShowImage("frame",frame);
cvWaitKey(33);
}
cvReleaseCapture(&capture);
cvDestroyAllWindows();
return 0;
}