Dalam artikel ini, kami akan menangani isu biasa yang dihadapi oleh pengguna OpenCV 2.4 pada sistem Windows. Khususnya, kami akan menyelidiki masalah VideoCapture tidak dapat menangkap bingkai daripada fail video.
Apabila menggunakan OpenCV 2.4 pada Windows, kod berikut berfungsi seperti yang diharapkan:
<code class="python">cap = cv2.VideoCapture(0) print(cap.grab())</code>
Walau bagaimanapun, apabila cuba menangkap bingkai daripada fail video menggunakan kod berikut:
<code class="python">cap = cv2.VideoCapture(filename) print(cap.grab())</code>
Ia secara konsisten mengembalikan Palsu, walaupun laluan ke fail itu betul dan sah. Isu ini telah diperhatikan pada kedua-dua mesin Windows XP dan Windows 7, manakala pada Linux (Ubuntu), kod yang sama berfungsi dengan sempurna.
Untuk menyelesaikan isu ini, anda perlu memastikan bahawa kebergantungan yang diperlukan untuk penyahkodan video tersedia untuk OpenCV pada Windows. Ini boleh dicapai dengan menambahkan direktori berikut pada pembolehubah persekitaran Windows PATH anda:
C:\OpenCVrdparty\ffmpeg\
Sebagai alternatif, anda boleh menyalin fail opencv_ffmpeg.dll secara manual daripada direktori yang ditentukan ke salah satu lokasi ini:
Selain itu, mungkin perlu menamakan semula fail opencv_ffmpeg.dll bergantung pada anda Versi OpenCV dan sistem pengendalian (64-bit atau 32-bit). Berikut ialah garis panduan untuk menamakan semula:
Untuk OpenCV versi X.Y.Z
Untuk versi OpenCV 64-bit X.Y.Z
Dengan mengikuti langkah ini, anda boleh mendayakan OpenCV 2.4 untuk berjaya menangkap dan memproses bingkai daripada fail video pada sistem Windows.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Dapatkan Bingkai daripada Fail Video Menggunakan OpenCV 2.4 pada Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!