Я использую openCV 2.3.1 для подключения к IP-камере.Как использовать OpenCV 2.3.1 для подключения к IP-камере?
Вот мой код
#include "../../../OpenCV/include/opencv/cv.h"
#include "../../../OpenCV/include/opencv/highgui.h"
CvCapture *camera = cvCreateFileCapture("http://usr:[email protected]:port/nphMotionJpeg?resolution=320x240&Quality=Standard");
if (camera == NULL)
printf("camera is null\n");
else
printf("camera is not null");
cvNamedWindow("img");
int d = cvWaitKey(10);
while (d != atoi("q"))
{
d = cvWaitKey(10);
double t1 = (double)cvGetTickCount();
IplImage *img = cvQueryFrame(camera);
double t2=(double)cvGetTickCount();
printf("time: %gms fps: %.2g\n",(t2-t1)/(cvGetTickFrequency()*1000.), 1000./((t2-t1)/(cvGetTickFrequency()*1000.)));
cvShowImage("img",img);
}
cvReleaseCapture(&camera);
Но выше cvCreateFileCapture() функция всегда возвращает нуль, но если я использую cvCreateFileCapture («video.avi») в порядке, пожалуйста, объясните мне, почему?
Я прочитал много тем об этой проблеме на stackoverflow.com, но у меня нет способа решить эту проблему.
Я использую OpenCV 2.3.1, и я построил его с помощью ffmpeg (я не уверен, но у меня был opencv_ffmpeg.dll в моей папке после его сборки).
Похоже, что 'cvCreateFileCapture' поддерживает только локальные файлы. –