![](/img/trans.png)
[英]how to extract a particular frame from video stream using Opencv & Python
[英]How to play a video file from a particular timstamp in opencv using python?
用戶輸入視頻中的開始時間和結束時間(時間戳)。 視頻文件應在該時間參數內播放,而不是整個播放。 任何幫助,將不勝感激。
我有2個小時的視頻文件,我只想播放發生關鍵事件的視頻。
VideoCapture類的set()
方法允許跳轉到特定幀並從該點開始讀取。
cap = cv2.VideoCapture("file_name.avi")
cap.set(cv2.CAP_PROP_POS_FRAMES, index)
會將視頻閱讀器設置為在index
指定的幀處開始閱讀,這是從零開始的。
然后, get()
方法將允許您檢查當前幀的索引, cap.get(cv2.CAP_PROP_POS_FRAMES)
將返回當前幀的地址。
剩下的就是將時間戳轉換為幀索引,並在開始和結束幀之間循環,檢查您是要讀取幀還是要停止讀取。 get()
方法還可以用於讀取文件中的幀總數,這將對此有所幫助。
查看get()
和set()
的選項,您可能還可以使用cv.CAP_PROP_POS_MSEC
,這是視頻中的當前位置(以毫秒為單位)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.