OpenCV Pythonを使用してビデオからさまざまなフレームを素早く選択して処理しようとしています。フレームを選択するには、私は 'CAP_PROP_POS_FRAMES'(またはcap.set(2、frame_no))を使いました。しかし、これを使用すると、選択されたフレームをデコードするのに約200msの遅延があることがわかりました。私のスクリプトは、フレーム間で多くの(必ずしも時系列ではない)飛び越します。これは、各繰り返しの間に大きな遅延が生じることを意味します。 フレーム番号を設定したあと、OpenCVが今後のフレームをバッファリングしていると思われます。そのため、基本的にビデオ全体をリストにしてRAMからアクセスできるように、ビデオのプリデコードを試みました。これは、大きなビデオが完全に私の記憶を食べることを除いて、幻想的でした。 私は誰かがこの200msの遅延なしにフレーム番号を設定する方法、または私のメモリスペースをすべて使わずにビデオをデコードする方法を知っていることを望んでいました。どんな提案も歓迎です!特定のフレームを高速で選択するOpenCV Python
0
A
答えて
0
私はその200msの遅延を回避する方法はわかりませんが、サイズがRAMよりも大きい場合でも、ビデオを最初にデコードする方法についての提案があります。あなたはnumpyのmemmap
:
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.memmap.htmlを使用できます。
実際には、メモリマップされたこの行列を初期化し、ビデオの各フレームをVideoCapture
で繰り返し処理し、各フレームをこの行列に格納する関数を持つことができます。その後、このメモリマップされた行列にアクセスするだけで各フレーム間をジャンプすることができます。
関連する問題
- 1. pythonとopencvでの高速コンポーネントラベリング
- 2. 高速SQLクエリの選択
- 3. ウェブカメラからのフレームの高速抽出:C++とOpenCVとMatlab
- 4. fft(高速フーリエ変換)でpythonでopencvをスピードアップするには?
- 5. Python、特定の行を選択
- 6. Boolean、Flatnonzero、Pythonでnumpyで特定の範囲を選択する
- 7. フレームは非常に高速
- 8. Pythonで特定の配列位置を選択する方法
- 9. pythonで特定のJSON応答項目を選択する3
- 10. android webviewでテキストを高速にする言語を選択
- 11. OpenCVのPythonのconnectedComponents選択コンポーネント
- 12. OpenCV/Python:VideoCaptureを使用して特定のフレームを読み取る
- 13. Pythonとbeautifulsoup - クラスの特定の選択だけを選択するには?
- 14. 複数選択の選択ボックスの高さを設定する
- 15. どのようにOpenCVの特定のバージョンを選択するのpythonを作るには?
- 16. 生成選択で特定の列を選択する
- 17. スプライトシートから特定のフレーム/画像を選択するには?-LibGdx
- 18. PythonでOpenCVフレームをHTMLにストリーム
- 19. 特定のルート用の高速IPフィルタ?
- 20. 特定の属性で選択する
- 21. python:リストから特定の値を選択する方法
- 22. 特定年のパンダ選択
- 23. opencVでUsbカメラを選択
- 24. イメージ/フレームを高速で変更する(20msで表示可能)
- 25. 特定のテーブルを選択
- 26. 選択メニューから特定の行を選択する - PHP/Mysql
- 27. OpenXML特定の列を選択する
- 28. Haskellでの高速ランダムジェネレータの選択に良い
- 29. opencv/pythonで特定の形のヒストグラムを認識する方法
- 30. opencv pythonでビデオの前のフレームを取得する方法
ありがとう、私はこれを使用しようとします! – CMW
あなたのニーズを満たしているかどうか教えてください – se7entyse7en