ホームページ > バックエンド開発 > C++ > OpenCV をネットワーク カメラと統合してフレームをキャプチャするにはどうすればよいですか?

OpenCV をネットワーク カメラと統合してフレームをキャプチャするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-14 22:03:02
オリジナル
539 人が閲覧しました

How to Integrate OpenCV with Network Cameras to Capture Frames?

OpenCV とネットワーク カメラの統合

評判の高いコンピューター ビジョン ライブラリである OpenCV は、ビデオのキャプチャと処理のための堅牢なツールを提供します。その多用途性はネットワーク カメラにも拡張されており、開発者は RTSP または HTTP プロトコル経由で接続されたカメラの能力を活用できます。

Windows で OpenCV 1.1pre1 を使用しているユーザーは、IP カメラからフレームをキャプチャしようとすると問題が発生する可能性があります。この記事はガイドとして機能し、OpenCV とネットワーク カメラのシームレスな統合を促進するソリューションを提供します。

OpenCV を使用して IP カメラからフレームをキャプチャする

接続を確立するにはIP カメラを使用してフレームを取得することで、OpenCV の高度なビデオ キャプチャ機能を詳しく調べます。 OpenCV 2.0 以降を使用した包括的なコード例を次に示します。

#include "cv.h"
#include "highgui.h"
#include <iostream>

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

    const std::string videoStreamAddress = "rtsp://cam_address:554/live.sdp"; 
    /* mjpeg stream address: "http://user:pass@cam_address:8081/cgi/mjpg/mjpg.cgi?.mjpg" */

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

    cv::namedWindow("Output Window");

    for(;;) {
        if(!vcap.read(image)) {
            std::cout << "No frame" << std::endl;
            cv::waitKey();
        }
        cv::imshow("Output Window", image);
        if(cv::waitKey(1) >= 0) break;
    }   
}
ログイン後にコピー

このコードは、cv::VideoCapture クラスを利用して、指定されたビデオ ストリーム アドレスを使用してカメラへの接続を確立します。次に、カメラからフレームを継続的に読み取り、「出力ウィンドウ」というラベルの付いたウィンドウに表示します。

H.264 RTSP ストリームのサポート

さらに、OpenCV はフレームのキャプチャをサポートします。 H.264 RTSP ストリームから。特定の URL コマンドについては、カメラの API を参照してください。たとえば、Axis ネットワーク カメラは次の RTSP アドレスを使用する場合があります:

rtsp://10.10.10.10:554/axis-media/media.amp
ログイン後にコピー

また、パスワードで保護されたカメラの場合、アドレスは次のようになります:

rtsp://username:[email protected]:554/axis-media/media.amp
ログイン後にコピー

結論として、OpenCV のこれらの機能を利用すると、開発者はネットワーク カメラをアプリケーションに簡単に統合でき、コンピュータ ビジョンとビデオ分析の領域で幅広い可能性を解き放つことができます。

以上がOpenCV をネットワーク カメラと統合してフレームをキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート