我正在使用Visual Studio 2010和OpenCV 2.3.1库。我只是想从IP摄像机流式传输视频并在其中进行一些处理。在尝试这样的时候,当我在VS2010中运行项目时,它运行正常。但是当我尝试将其作为EXE文件运行时它无效。但同样的程序适用于非网络摄像头,如USB网络摄像头(作为项目文件和.EXE文件)
我删除了我的.EXE文件所在文件夹所需的DLL文件(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中出现“Bad Flag(参数或结构字段)(无法识别或不支持的数组类型)”时出错,第2482行“
我的代码是
#include "stdafx.h"
#include<iostream>
#include"opencv2\opencv.hpp"
#include"opencv2\highgui\highgui.hpp"
#include"opencv\cv.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;
}
有人请帮我摆脱这个...... 在此先感谢...
答案 0 :(得分:0)
谢谢。谢谢。非常感谢@Micka。我只是将opencv_ffmpeg.dll链接到我的程序就解决了我的问题。或者将dll文件放入存在.EXE文件的文件夹中。再次感谢你。