通过Code :: Blocks IDE访问Ubuntu中的IP摄像头

时间:2018-04-30 11:46:11

标签: c++ opencv ubuntu-16.04 opencv3.0

我正在处理一项任务,我必须使用OpenCV 3访问IP摄像机的实时流(Edimax IC-3110P)。我的主机系统是Windows 10,我使用Virtualbox运行Ubuntu 16.04(Xenial)64位。我正在使用C ++和Code :: Blocks(IDE)。

最后,我可以通过Microsoft Visual Studio(在Windows 10中)使用以下程序访问直播。

#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <iostream>

int main(int, char**) {
cv::VideoCapture vcap;
cv::Mat image;

// This works on a D-Link CDS-932L

const std::string videoStreamAddress = 
"http://admin:1234@192.168.2.3/mjpg/video.mjpg";
   //open the video stream and make sure it's opened

   if(!vcap.open(videoStreamAddress)) {
     std::cout << "Error opening video stream or file" << std::endl;
      return -1;
}

   for(;;) {
     if(!vcap.read(image)) {
        std::cout << "No frame" << std::endl;
        cv::waitKey();
    }
    cv::imshow("Output Window", image);

    if(cv::waitKey(1) >= 0) break;
    }

    }

然而,在Ubuntu中使用Code :: Blocks中的相同程序,它显示&#34;加载流视频或文件时出错。&#34;

这款相机不支持Linux操作系统,但我可以通过浏览器的地址栏(在Ubuntu中)访问直播,但不能通过我的程序访问。

有谁知道如何解决这个问题?

谢谢。

0 个答案:

没有答案