python 視頻 圖像幀提取


import cv2
vidcap = cv2.VideoCapture('005.avi')
success,image = vidcap.read()
count = 0
success = True
while success:
  success,image = vidcap.read()
  cv2.imwrite("frame%d.jpg" % count, image)     # save frame as JPEG file
  if cv2.waitKey(10) == 27:                     
      break
  count += 1

  

waitKey()函數詳解 

 1--waitKey()--這個函數是在一個給定的時間內(單位ms)等待用戶按鍵觸發;如果用戶沒有按下 鍵,則接續等待(循環)

 

 2--如下所示: while(1){ if(waitKey(100)==27)break; } 在這個程序中,我們告訴OpenCv等待用戶觸發事件,等待時間為100ms,如果在這個時間段內, 用戶按下ESC(ASCII碼為27),則跳出循環,否則,不跳出循環

 

 3--如果設置waitKey(0),則表示程序會無限制的等待用戶的按鍵事件

 

 

videoCapture.read() 函數,第一個返回值為是否成功獲取視頻幀,第二個返回值為返回的視頻幀:

success, frame = videoCapture.read()

cv2.VideoWriter(filename, fourcc, fps, framesize, isColor)–視頻寫入/出

使用這個函數可以創建一個用於寫出視頻文件的句柄,第一個參數為寫出的視頻文件的名字/路徑,第二個參數為寫出視頻的編碼格式,

第三個參數為寫出視頻的fps值,第四個參數為寫出視頻的畫面大小,最后一個參數為設置寫出視頻是否為彩色視頻,可以省略,默認為彩色。

 

 

參考:

https://blog.csdn.net/william_hehe/article/details/79584191

https://blog.csdn.net/farmwang/article/details/74170975


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM