它必须发生,我被困在我的项目的最后阶段,当我想在IP摄像机上使用我的代码时,它就像我的网络摄像头上的魅力一样.该URL在我的浏览器中完美运行,但OpenCV没有任何结果...这是我的代码:
#include <opencv/highgui.h>
using namespace cv;
int main(int argc, char *argv[])
{
Mat frame;
namedWindow("video", 1);
VideoCapture cap("http://192.168.1.99:99/videostream.cgi?resolution=32&rate=0&user=admin&pwd=password&.mjpg");
while ( cap.isOpened() )
{
cap >> frame;
if(frame.empty()) break;
imshow("video", frame);
if(waitKey(30) >= 0) break;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
和编译器设置:
//Added to the .pro file of QtCreator
INCLUDEPATH += C:\\OpenCV243\\release\\include
LIBS += -LC:\\OpenCV243\\release\\lib \
-lopencv_core243.dll \
-lopencv_highgui243.dll
Run Code Online (Sandbox Code Playgroud)
我已经测试过使用相同的代码打开一个.avi文件并且它可以工作......但是公共IP摄像机URL就像http://66.184.211.231/mjpg/video.mjpg
没有!那怎么回事?
通过编辑删除:我认为FFMPEG是一个问题,但是v2.4.3.有内置的FFMPEG支持和.avi文件工作,虽然我没有安装任何FFMPEG库(注意解释?)
提前致谢,
此致,Mystère先生
通过从源的build\x86\mingw\bin文件夹中复制opencv_ffmpeg.dll并将其粘贴到构建的DLL旁边(通过PATH可访问的bin文件夹)来解决它:我不知道为什么,但是生成了opencv_ffmpeg_64.dll而不是.
归档时间: |
|
查看次数: |
9477 次 |
最近记录: |