OpenCV avec les caméras réseau : un guide complet
Lorsque vous travaillez avec des caméras réseau, l'accès aux données d'image pour les tâches de traitement et d'analyse d'images devient souvent crucial . Cet article explique comment utiliser OpenCV, une puissante bibliothèque de vision par ordinateur, pour récupérer efficacement les images des caméras réseau.
Relever le défi
Un utilisateur a demandé comment acquérir des images à partir de une caméra réseau utilisant OpenCV 1.1pre1. La caméra diffusait du MPEG4 sur RTSP ou du MJPEG sur HTTP. Malgré des recherches approfondies, l'utilisateur a rencontré des difficultés pour utiliser FFMPEG avec OpenCV.
La solution OpenCV
Pour les versions OpenCV 2.0 et supérieures, un extrait de code C est fourni ci-dessous pour récupérer les images de la caméra réseau :
#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"; 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; } }
Dans le code, videoStreamAddress peut être une adresse de flux MJPEG comme "http://user:pass@cam_address:8081/cgi/mjpg/mjpg.cgi?. mjpg".
Pour récupérer des images à partir de flux RTSP H.264, reportez-vous à l'API de votre caméra pour plus de détails sur les commandes URL spécifiques. Par exemple, l'adresse RTSP d'une caméra réseau Axis pourrait être :
rtsp://10.10.10.10:554/axis-media/media.amp
Cette solution exploite la structure cv::Mat, privilégiée par rapport à l'ancienne structure IplImage. Le code crée une fenêtre de sortie pour l'affichage des images, évitant ainsi la création de fenêtre inefficace à chaque appel imshow(...) .
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!