使用 OpenCV 从 IP 摄像机捕获帧
要使用 OpenCV 从 IP 摄像机捕获帧,您可以采用以下步骤:
包含必要的库:
对于 OpenCV 2.0 或更高版本:
对于旧版本的 OpenCV(例如 1.1pre1):
打开视频流:
使用 cv::VideoCapture 打开视频流。例如:
读取帧:
显示帧:
处理用户交互:
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"; // RTSP stream // Open the video stream and check if it's open if (!vcap.open(videoStreamAddress)) { std::cout << "Error opening video stream or file" << std::endl; return -1; } // Create output window for displaying frames. 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; } return 0; }
H.264 RTSP 流的更新:
从 H.264 RTSP 流中捕获帧OpenCV 2.0 或更高版本,您可以使用以下 URL 格式:
如果相机需要身份验证,请使用以下 URL 格式:
以上是如何使用 OpenCV 从 IP 摄像机捕获帧?的详细内容。更多信息请关注PHP中文网其他相关文章!