OpenCV dengan Kamera Rangkaian: Panduan Komprehensif
Apabila bekerja dengan kamera rangkaian, mengakses data bingkai untuk pemprosesan imej dan tugasan analisis sering menjadi penting . Artikel ini meneroka cara menggunakan OpenCV, pustaka penglihatan komputer yang berkuasa, untuk merebut bingkai daripada kamera rangkaian dengan berkesan.
Menangani Cabaran
Seorang pengguna bertanya tentang memperoleh bingkai daripada kamera rangkaian menggunakan OpenCV 1.1pre1. Kamera menstrim MPEG4 melalui RTSP atau MJPEG melalui HTTP. Walaupun penyelidikan yang meluas, pengguna menghadapi kesukaran dalam menggunakan FFMPEG dengan OpenCV.
Penyelesaian OpenCV
Untuk OpenCV versi 2.0 dan ke atas, coretan kod C disediakan di bawah untuk dapatkan semula bingkai daripada kamera rangkaian:
#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"; 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; } }
Dalam kod, videoStreamAddress boleh menjadi alamat strim MJPEG seperti "http://user:pass@cam_address:8081/cgi/mjpg/mjpg.cgi?.mjpg".
Untuk mengambil bingkai daripada strim H.264 RTSP, rujuk ke API kamera anda untuk butiran arahan URL tertentu. Contohnya, alamat RTSP kamera rangkaian Axis mungkin:
rtsp://10.10.10.10:554/axis-media/media.amp
Penyelesaian ini memanfaatkan struktur cv::Mat, yang diutamakan berbanding struktur IplImage lama. Kod ini mencipta tetingkap output untuk paparan bingkai, mengelakkan penciptaan tetingkap yang tidak cekap dengan setiap panggilan imshow(...).
Atas ialah kandungan terperinci Bagaimanakah OpenCV Boleh Digunakan untuk Mengakses Bingkai daripada Kamera Rangkaian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!