Mengintegrasikan OpenCV dengan Kamera Rangkaian untuk Pemerolehan Imej
Untuk memperoleh bingkai masa nyata daripada kamera rangkaian menggunakan OpenCV, langkah berikut boleh diambil:
Mewujudkan Sambungan Rangkaian:
- Dapatkan URL strim RTSP atau MJPEG yang betul untuk kamera anda. Maklumat ini biasanya tersedia dalam dokumentasi kamera.
- Gunakan kelas VideoCapture OpenCV untuk membuka alamat penstriman. Contoh kod untuk pelaksanaan minimum disediakan di bawah:
#include <opencv2/opencv.hpp>
int main() {
cv::VideoCapture vcap;
if (!vcap.open("rtsp://cam_address:554/live.sdp")) {
std::cerr << "Error opening video stream" << std::endl;
return -1;
}
// ... Continue with frame acquisition and processing
}
Salin selepas log masuk
Merebut Bingkai:
- Setelah sambungan rangkaian diwujudkan, bingkai boleh diperoleh menggunakan kaedah baca VideoCapture.
- Objek Mat yang dikembalikan menyimpan data bingkai semasa.
- Gunakan fungsi pemprosesan imej OpenCV untuk menganalisis dan memanipulasi bingkai.
- Paparkan bingkai menggunakan fungsi imshow, jika mahu.
Mengendalikan Jenis Strim Berbeza:
-
Strim MPEG-4 RTSP: FFMPEG tidak diperlukan untuk jenis strim ini. Gunakan keupayaan penyahkodan video terbina dalam OpenCV.
-
MJPEG melalui Strim HTTP: Gunakan kelas VideoCapture dengan kod fourcc CV_CAP_OPENCV_MJPEG untuk mengendalikan strim ini.
-
H .264 RTSP Streams: Rujuk dokumentasi API kamera untuk mendapatkan alamat URL yang sesuai, yang mungkin termasuk parameter tambahan.
Dengan mengikuti langkah ini, anda boleh menyepadukan OpenCV dengan kamera rangkaian dan memanfaatkan keupayaan pemprosesan imej yang berkuasa platform untuk pemerolehan dan analisis bingkai masa nyata.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menyepadukan OpenCV dengan kamera rangkaian untuk pemerolehan imej masa nyata?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!