2016-04-16 127 views
0

我想在Microsoft Visual Studio中使用opencv 2.45與我的Dynacolor IP攝像機拍照。使用opencv連接到IP攝像機

我發現它的IP與iSpy。這是我的代碼。

#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:[email protected]: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 
} 

這把我一個警告:找不到編解碼器參數< .../... /模塊/ highgui/src目錄/ cap_ffmpeg_impl.hpp:540>,並相機爲空。

我已閱讀有關此問題的許多線索,但我無法解決此問題。

任何幫助,將不勝感激。

回答

0

檢查此代碼。這個對我有用。注意地址末尾的'?.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; 
} 
+0

謝謝亞當。我添加了'?channel = 0&.mjpg',它現在可以工作。 –