Heim >Backend-Entwicklung >C++ >Wie integriere ich OpenCV mit Netzwerkkameras, um Frames zu erfassen?
Integration von OpenCV mit Netzwerkkameras
OpenCV, eine angesehene Computer-Vision-Bibliothek, bietet robuste Tools für die Videoerfassung und -verarbeitung. Seine Vielseitigkeit erstreckt sich auch auf Netzwerkkameras und ermöglicht es Entwicklern, die Leistung von Kameras zu nutzen, die über RTSP- oder HTTP-Protokolle verbunden sind.
Unter Windows können Benutzer, die OpenCV 1.1pre1 verwenden, auf Herausforderungen stoßen, wenn sie versuchen, Bilder von IP-Kameras zu erfassen. Dieser Artikel dient als Leitfaden und bietet eine Lösung zur Erleichterung der nahtlosen Integration von OpenCV mit Netzwerkkameras.
Bilder von IP-Kameras mit OpenCV erfassen
Um eine Verbindung herzustellen Mit einer IP-Kamera und dem Abrufen von Frames vertiefen wir uns in die erweiterten Videoaufnahmefunktionen von OpenCV. Hier ist ein umfassendes Codebeispiel mit OpenCV 2.0 oder höher:
#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; } }
Dieser Code verwendet die cv::VideoCapture-Klasse, um mithilfe der angegebenen Videostream-Adresse eine Verbindung zur Kamera herzustellen. Anschließend liest es kontinuierlich Frames von der Kamera und zeigt sie in einem Fenster mit der Bezeichnung „Ausgabefenster“ an.
H.264 RTSP Stream-Unterstützung
Darüber hinaus unterstützt OpenCV die Erfassung von Frames von H.264 RTSP-Streams. Spezifische URL-Befehle finden Sie in der API Ihrer Kamera. Beispielsweise kann eine Axis-Netzwerkkamera die folgende RTSP-Adresse verwenden:
rtsp://10.10.10.10:554/axis-media/media.amp
Alternativ wäre die Adresse für passwortgeschützte Kameras:
rtsp://username:[email protected]:554/axis-media/media.amp
Abschließend: Nutzung von OpenCVs Mit diesen Funktionen können Entwickler Netzwerkkameras mühelos in ihre Anwendungen integrieren und so eine Vielzahl von Möglichkeiten im Bereich Computer Vision und Videoanalyse erschließen.
Das obige ist der detaillierte Inhalt vonWie integriere ich OpenCV mit Netzwerkkameras, um Frames zu erfassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!