使用 opencv 连接网络摄像机
connect to IP camera using opencv
我想用 Microsoft 中的 opencv 2.45 使用我的 Dynacolor IP 摄像头拍照 Visual Studio。
我用iSpy查到了它的ip。这是我的代码。
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/opencv.hpp"
int main()
{
cv::VideoCapture vcap;
const std::string videoStreamAddress = "http://Admin:1234@192.168.0.250:80/cgi-bin/jpg/image.cgi";
if (!vcap.open(videoStreamAddress))
{
printf("Camera is null\n");
return -1;
}
else
{
cv::Mat image;
vcap.read(image);
cv::imshow("image",image);
}
cv::waitKey(100);
return 0
}
这给我一个警告:找不到编解码器参数 <.../.../modules/highgui/src/cap_ffmpeg_impl.hpp:540>,并且相机为空。
我已经阅读了很多关于这个问题的帖子,但我无法解决这个问题。
如有任何帮助,我们将不胜感激。
检查此代码。这个对我有用。请注意地址末尾的“?.mjpg”。我也更改了IP和端口进行测试。
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/opencv.hpp"
#include <cstdio>
int main()
{
cv::VideoCapture vcap;
// changed address
const std::string videoStreamAddress = "http://213.171.96.200/cgi-bin/jpg/image.cgi?.mjpg";
if (!vcap.open(videoStreamAddress))
{
printf("Camera is null\n");
return -1;
}
else
{
cv::Mat image;
vcap.read(image);
cv::imshow("image",image);
}
cv::waitKey(10000);
return 0;
}
我想用 Microsoft 中的 opencv 2.45 使用我的 Dynacolor IP 摄像头拍照 Visual Studio。
我用iSpy查到了它的ip。这是我的代码。
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/opencv.hpp"
int main()
{
cv::VideoCapture vcap;
const std::string videoStreamAddress = "http://Admin:1234@192.168.0.250:80/cgi-bin/jpg/image.cgi";
if (!vcap.open(videoStreamAddress))
{
printf("Camera is null\n");
return -1;
}
else
{
cv::Mat image;
vcap.read(image);
cv::imshow("image",image);
}
cv::waitKey(100);
return 0
}
这给我一个警告:找不到编解码器参数 <.../.../modules/highgui/src/cap_ffmpeg_impl.hpp:540>,并且相机为空。
我已经阅读了很多关于这个问题的帖子,但我无法解决这个问题。
如有任何帮助,我们将不胜感激。
检查此代码。这个对我有用。请注意地址末尾的“?.mjpg”。我也更改了IP和端口进行测试。
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/opencv.hpp"
#include <cstdio>
int main()
{
cv::VideoCapture vcap;
// changed address
const std::string videoStreamAddress = "http://213.171.96.200/cgi-bin/jpg/image.cgi?.mjpg";
if (!vcap.open(videoStreamAddress))
{
printf("Camera is null\n");
return -1;
}
else
{
cv::Mat image;
vcap.read(image);
cv::imshow("image",image);
}
cv::waitKey(10000);
return 0;
}