背景:python小白,剛學沒多久。
找了一個前輩的程式,使用python,opencv提取MP4視頻幀,并保存成圖片時,無論視頻大小最終只有236張照片。感覺是哪里受限了,也找不到原因,希望有經驗的朋友幫忙看一下,指導一二,thanks in advance.
程式如下,
import os.path
# 1.存盤圖片檔案夾
path = 'E:/Python/03_Projects/video2pic/VideoToImage' # 存放視頻圖片的主目錄
if not os.path.exists(path): # 如果不存在就創建檔案夾
os.mkdir(path)
# 2.讀取視頻檔案夾
filepath = 'E:/Python/03_Projects/video2pic/video' # 需要讀取的視頻的路徑
pathDir = os.listdir(filepath) # 獲取檔案夾中檔案名稱
# 3.截視頻幀數
for allDir in pathDir: # 逐個讀取視頻檔案
a = 1 # 圖片計數-不改
c = 1 # 幀數計數-不改
videopath = r'E:/Python/03_Projects/video2pic/video/'+allDir # 視頻檔案路徑
vc = cv.VideoCapture(videopath) # 讀入視頻檔案
# 存盤視頻的子目錄
path = 'E:/Python/03_Projects/video2pic/VideoToImage/'+allDir.split('.')[0]
if not os.path.exists(path): # 如果不存在就創建檔案夾
os.mkdir(path)
if vc.isOpened():
rval , frame = vc.read()
else:
rval = False
timeF = 1 # 幀數間隔
while rval:
rval,frame = vc.read() # 分幀讀取視頻
if rval==False:
break
if(c%timeF==0):
cv.imwrite(path+'/'+str(a)+'.jpg',frame) # 保存路徑
a = a+1
c = c+1
cv.waitKey(1)
vc.release()
uj5u.com熱心網友回復:
提取幀的時候,我記得檔案里面有說過有一定幾率出現掉幀情況轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/227746.html
上一篇:rational rose畫順序圖的時候,物件發給自身的訊息應該怎么畫?還有互動框架loop,alt這些怎么畫?
下一篇:求助,幫忙把這個改寫成一個函式
