首頁  >  文章  >  後端開發  >  為什麼我無法在 Windows 上使用 OpenCV 2.4 從視訊檔案中檢索幀?

為什麼我無法在 Windows 上使用 OpenCV 2.4 從視訊檔案中檢索幀?

Barbara Streisand
Barbara Streisand原創
2024-11-01 03:07:02297瀏覽

Why Can't I Retrieve Frames from Video Files Using OpenCV 2.4 on Windows?

VideoCapture 無法從Windows 上的OpenCV 2.4 中的視訊檔案中擷取影格

在本文中,我們將解決Windows 系統上OpenCV 2.4 使用者遇到的🎜>在本文中,我們將解決Windows 系統上OpenCV 2.4 使用者遇到的問題。具體來說,我們將深入研究 VideoCapture 無法從視訊檔案中擷取幀的問題。

問題描述

在Windows 上使用OpenCV 2.4 時,以下程式碼按預期工作:

<code class="python">cap = cv2.VideoCapture(0)
print(cap.grab())</code>

但是,當嘗試使用以下程式碼從視訊檔案擷取幀時:

<code class="python">cap = cv2.VideoCapture(filename)
print(cap.grab())</code>

即使檔案的路徑正確且有效,它始終會傳回False。在 Windows XP 和 Windows 7 電腦上都觀察到此問題,而在 Linux (Ubuntu) 上,相同的程式碼可以完美運作。

解決方案

要解決此問題,您需要確保Windows 上的 OpenCV 可以使用視訊解碼所需的依賴項。這可以透過將以下目錄新增至Windows PATH 環境變數來實現:

C:\OpenCVrdparty\ffmpeg\

或者,您可以手動將opencv_ffmpeg.dll 檔案從指定目錄複製到以下位置之一:

  • C:Python27
  • PATH 環境變數中包含的任何目錄

此外,可能需要根據您的情況重新命名opencv_ffmpeg.dll 檔案OpenCV 版本和作業系統(64位或32 位)。以下是重新命名指南:

對於OpenCV 版本X.Y.Z

  • opencv_ffmpeg.dll ==> opencv_ffmpegXYZ.dll
  • 🎜>對於64 位元OpenCV 版本X.Y.Z

    opencv_ffmpeg.dll ==> opencv_ffmpegXYZ_64.dll

以上是為什麼我無法在 Windows 上使用 OpenCV 2.4 從視訊檔案中檢索幀?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn