Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengintegrasikan OpenCV dengan Kamera Rangkaian untuk Menangkap Bingkai?
Mengintegrasikan OpenCV dengan Kamera Rangkaian
OpenCV, sebuah perpustakaan penglihatan komputer yang dihormati, menawarkan alatan yang mantap untuk menangkap dan memproses video. Fleksibilitinya meluas ke kamera rangkaian, membolehkan pembangun memanfaatkan kuasa kamera yang disambungkan melalui protokol RTSP atau HTTP.
Dalam Windows, pengguna yang menggunakan OpenCV 1.1pre1 mungkin menghadapi cabaran apabila cuba menangkap bingkai daripada kamera IP. Artikel ini berfungsi sebagai panduan, menyediakan penyelesaian untuk memudahkan penyepaduan OpenCV yang lancar dengan kamera rangkaian.
Merakam Bingkai daripada Kamera IP Menggunakan OpenCV
Untuk mewujudkan sambungan dengan kamera IP dan mendapatkan semula bingkai, kami menyelidiki keupayaan menangkap video lanjutan OpenCV. Berikut ialah contoh kod komprehensif menggunakan OpenCV 2.0 atau lebih baru:
#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; } }
Kod ini menggunakan kelas cv::VideoCapture untuk mewujudkan sambungan ke kamera menggunakan alamat strim video yang ditentukan. Ia kemudiannya membaca bingkai dari kamera secara berterusan dan memaparkannya dalam tetingkap berlabel "Tetingkap Output."
Sokongan Strim H.264 RTSP
Selain itu, OpenCV menyokong menangkap bingkai daripada aliran H.264 RTSP. Rujuk API kamera anda untuk arahan URL tertentu. Sebagai contoh, kamera rangkaian Axis boleh menggunakan alamat RTSP berikut:
rtsp://10.10.10.10:554/axis-media/media.amp
Sebagai alternatif, untuk kamera yang dilindungi kata laluan, alamatnya ialah:
rtsp://username:[email protected]:554/axis-media/media.amp
Sebagai kesimpulan, memanfaatkan OpenCV's keupayaan, pembangun boleh dengan mudah menyepadukan kamera rangkaian ke dalam aplikasi mereka, membuka kunci pelbagai kemungkinan dalam bidang penglihatan komputer dan analitik video.
Atas ialah kandungan terperinci Bagaimana untuk Mengintegrasikan OpenCV dengan Kamera Rangkaian untuk Menangkap Bingkai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!