运行.EXE文件时无法访问 IP 摄像机

Cannot Access IP camera while running an .EXE file

本文关键字:访问 IP 摄像机 EXE 文件 运行      更新时间:2023-10-16

我正在使用Visual Studio 2010和OpenCV 2.3.1库。我只是想从IP摄像机流式传输视频并在其中进行一些处理。在尝试这样做时,当我在VS2010中运行该项目时,它工作正常。但是当我尝试将其作为 EXE 文件运行时,它不起作用。但是相同的程序适用于非IP摄像机,如USB网络摄像头(作为项目文件和.EXE文件)

我将所有需要的DLL文件拖放到.EXE文件所在的文件夹中(DLL文件为opencv_calib3d231d.dll,opencv_core231d.dll,opencv_features2d231d.dll,opencv_flann231d.dll,opencv_highgui231d.dll,opencv_imgproc231d.dll,opencv_objdetect231d.dll,opencv_video231d.dll,tbb_debug.dll)

我有一个错误说"未知函数中的错误标志(参数或结构字段)(无法识别或不支持的数组类型),文件 C:\slave\WinInstallerMegaPack\src\opencv\modules\core\src\array.cpp,第 2482 行"

我的代码是

#include "stdafx.h"
#include<iostream>
#include"opencv2opencv.hpp"
#include"opencv2highguihighgui.hpp"
#include"opencvcv.h"
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
    Mat f;
    const string s="http://<username:password>@<IP address:portno>/axis-  cgi/mjpg/video.cgi?.mjpg";
    VideoCapture cap;
    cap.open(s);
    if(!cap.isOpened())
         cout<<"Cannot be accessed";
    while(8)
    {
        cap>>f;
        imshow("Live stream",f);
        if(waitKey(30)==27)
            break;
    }
    return 0;
}

有人请帮我摆脱这个...提前致谢...

谢谢。谢谢。非常感谢@Micka。我通过将opencv_ffmpeg.dll链接到我的程序来解决我的问题。或者将 dll 文件放入.EXE文件所在的文件夹中。再次感谢您。