」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 OpenCV 從網路攝影機擷取影格?

如何使用 OpenCV 從網路攝影機擷取影格?

發佈於2024-11-20
瀏覽:374

How to Capture Frames from Network Cameras using OpenCV?

使用 OpenCV 與網路攝影機連接

在電腦視覺領域,即時影像擷取通常是至關重要的要求。網路攝影機透過各種協定串流視訊內容,提供了一種獲取影像的便捷方法。 OpenCV 是一個廣泛使用的電腦視覺庫,提供從此類相機捕捉幀的功能。

實作方法

OpenCV 2.0 及更高版本提供了通用的介面解決方案與網路攝影機。以下 C 程式碼示範如何實現此目的:

#include 
#include 
#include 

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 > image;
        if (image.empty()) {
            std::cout = 0) break;
    }

    return 0;
}

H.264 串流注意事項

許多現代網路攝影機支援 H.264 視訊壓縮,需要修改 RTSP URL 才能與 OpenCV 正確整合。有關特定 URL 格式,請參閱相機的 API 文件。例如,以下舉例說明了安訊士網路攝影機的RTSP 位址:

rtsp://10.10.10.10:554/axis-media/media.amp

其中“10.10.10.10”代表攝影機的IP 位址和「554」其RTSP 連接埠。

透過合併提供的程式碼並考慮這些H.264 串流媒體考慮因素,您可以使用 OpenCV 有效地從網路攝影機擷取幀,解鎖廣泛的影像處理和電腦視覺應用。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3