gpt4 book ai didi

c++ - 如何使用 OpenCV 2.3.1 连接网络摄像机?

转载 作者:行者123 更新时间:2023-11-30 04:29:43 25 4
gpt4 key购买 nike

我正在使用 openCV 2.3.1 连接到网络摄像机。

这是我的代码

#include "../../../OpenCV/include/opencv/cv.h"
#include "../../../OpenCV/include/opencv/highgui.h"

CvCapture *camera = cvCreateFileCapture("http://usr:pass@ip: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() 函数总是返回 null,但是如果我使用 cvCreateFileCapture("video.avi") 是可以的,请向我解释为什么?

我在 stackoverflow.com 上阅读了很多关于这个问题的帖子,但我还没有任何方法可以解决这个问题。

我正在使用 OpenCV 2.3.1,并且我已经用 ffmpeg 构建了它(我不确定这一点,但构建后我的文件夹中有 opencv_ffmpeg.dll)。

最佳答案

作为the documentation says ,您只能将本地文件的路径传递给 cvCreateFileCapture()。

如果你想在 IP 摄像机上使用 openCV,你必须通过其他方式从服务器获取图像,然后使用 openCV 单独分析帧。

关于c++ - 如何使用 OpenCV 2.3.1 连接网络摄像机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9186702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com