Maison > développement back-end > C++ > Comment capturer des images de caméras réseau à l'aide d'OpenCV ?

Comment capturer des images de caméras réseau à l'aide d'OpenCV ?

Barbara Streisand
Libérer: 2024-11-09 08:24:02
original
820 Les gens l'ont consulté

How to Capture Frames from Network Cameras using OpenCV?

Interfaçage avec des caméras réseau à l'aide d'OpenCV

Dans le domaine de la vision par ordinateur, l'acquisition d'images en temps réel est souvent une exigence cruciale. Les caméras réseau, diffusant du contenu vidéo via divers protocoles, offrent un moyen pratique d'obtenir des images. OpenCV, une bibliothèque de vision par ordinateur largement utilisée, offre des fonctionnalités pour capturer des images de telles caméras.

Approche de mise en œuvre

OpenCV version 2.0 et supérieure offre une solution polyvalente pour l'interfaçage avec des caméras réseau. Le code C suivant montre comment y parvenir :

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

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

    // TODO: Replace with appropriate stream address
    const std::string videoStreamAddress = "rtsp://cam_address:554/live.sdp"; 

    vcap.open(videoStreamAddress);
    if (!vcap.isOpened()) {
        std::cout << "Failed to open video stream." << std::endl;
        return -1;
    }

    cv::namedWindow("Output Window");

    while (true) {
        vcap >> image;
        if (image.empty()) {
            std::cout << "No frame available." << std::endl;
            cv::waitKey(0);
            continue;
        }

        cv::imshow("Output Window", image);
        if (cv::waitKey(1) >= 0) break;
    }

    return 0;
}
Copier après la connexion

Considérations relatives au streaming H.264

De nombreuses caméras réseau modernes prennent en charge la compression vidéo H.264, ce qui nécessite une modification URL RTSP pour une bonne intégration avec OpenCV. Consultez la documentation API de la caméra pour connaître les formats d'URL spécifiques. Par exemple, l'exemple suivant illustre une adresse RTSP pour une caméra réseau Axis :

rtsp://10.10.10.10:554/axis-media/media.amp
Copier après la connexion

où "10.10.10.10" représente l'adresse IP de la caméra et "554" son port RTSP.

Par en intégrant le code fourni et en tenant compte de ces considérations de streaming H.264, vous pouvez capturer efficacement les images des caméras réseau à l'aide d'OpenCV, ouvrant ainsi la voie à une large gamme d'applications de traitement d'image et de vision par ordinateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal