Heim > Artikel > Backend-Entwicklung > Wie erfasst man Frames von Netzwerkkameras mit OpenCV?
Schnittstelle mit Netzwerkkameras über OpenCV
Im Bereich Computer Vision ist die Bilderfassung in Echtzeit oft eine entscheidende Anforderung. Netzwerkkameras, die Videoinhalte über verschiedene Protokolle streamen, bieten eine praktische Möglichkeit, Bilder zu erhalten. OpenCV, eine weit verbreitete Computer-Vision-Bibliothek, bietet Funktionen zum Erfassen von Bildern von solchen Kameras.
Implementierungsansatz
OpenCV Version 2.0 und höher bietet eine vielseitige Lösung für die Schnittstelle mit Netzwerkkameras. Der folgende C-Code zeigt, wie dies erreicht wird:
#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; }
Überlegungen zum H.264-Streaming
Viele moderne Netzwerkkameras unterstützen die H.264-Videokomprimierung, was eine Modifikation erfordert RTSP-URL für die ordnungsgemäße Integration mit OpenCV. Informationen zu bestimmten URL-Formaten finden Sie in der API-Dokumentation der Kamera. Das Folgende veranschaulicht beispielsweise eine RTSP-Adresse für eine Axis-Netzwerkkamera:
rtsp://10.10.10.10:554/axis-media/media.amp
wobei „10.10.10.10“ die IP-Adresse der Kamera und „554“ deren RTSP-Port darstellt.
Von Durch die Einbindung des bereitgestellten Codes und unter Berücksichtigung dieser H.264-Streaming-Überlegungen können Sie mithilfe von OpenCV effektiv Frames von Netzwerkkameras erfassen und so eine Vielzahl von Funktionen freischalten Bildverarbeitungs- und Computer-Vision-Anwendungen.
Das obige ist der detaillierte Inhalt vonWie erfasst man Frames von Netzwerkkameras mit OpenCV?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!