본문 바로가기
과거자료/컴퓨터비전

[OpenCV] IpCamera 연결

by Joo입니다 2016. 2. 16.

OpenCV를 이용하여 Ip카메라의 영상 받아오기!


// 출처 http://answers.opencv.org/question/133/how-do-i-access-an-ip-camera/

#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://<username:password>@<ip_address>/video.cgi?.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;
    }   
}

내가 사용하고 있는 카메라는 Canon VB-H43 

SDK를 받았지만, C#이라 절망하고 있다가 OpenCV에서 제공해준다는 말을 듣고 테스트해보니 잘된다 ㅠㅠ

비디오스트림어드레스 부분은 각 카메라 모델에 맞는 정보를 써주면된다.

Canon VB-H43은 http://ID:PASS@192.168.*.*/-wvhttp-01-/video.cgi.mjpg

오픈씨브이를 이용하여 ip카메라 영상 받아오기 끝! 아주 기분이 좋군