91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何實現從視頻中提取每秒圖片

發布時間:2020-08-26 16:10:44 來源:腳本之家 閱讀:207 作者:寧采晨 欄目:開發技術

我是在做行人檢測中需要將一段視頻變為圖片數據集,然后想將視頻每秒鐘的圖片提取出來。

  • 語言:python
  • 所需要的庫:cv2,numpy (自行安裝)

opencv中提供了讀取視頻每幀圖片的函數,下面的代碼可以將視頻的每幀圖片提取出來。注:我的視頻名字叫 2.mp4  ,提取圖片保存目錄 需要自己建一個名字叫 output 的文件夾。

# 導入所需要的庫
import cv2
import numpy as np
 
# 定義保存圖片函數
# image:要保存的圖片名字
# addr;圖片地址與相片名字的前部分
# num: 相片,名字的后綴。int 類型
def save_image(image,addr,num):
  address = addr + str(num)+ '.jpg'
  cv2.imwrite(address,image)
 
# 讀取視頻文件
videoCapture = cv2.VideoCapture("2.mp4")
# 通過攝像頭的方式
# videoCapture=cv2.VideoCapture(1)
 
#讀幀
success, frame = videoCapture.read()
i = 0
while success :
  i = i + 1
  save_image(frame,'./output/image',m)
  if success:
    print('save image:',i)
  success, frame = videoCapture.read()

現在我想按秒提取,只要我們能知道視頻每秒有多少幀,然后在上面的代碼基礎上每隔那么多幀提取一次就行了,這就需要查看視頻的幀率。一般情況下隨便用一個播放器打開視頻后右鍵查看其屬性就可以看到幀率。現在我的視頻幀率為12 ,每隔12幀提取一次就可以得到每秒的圖片。代碼如下:

# 導入所需要的庫
import cv2
import numpy as np
 
# 定義保存圖片函數
# image:要保存的圖片名字
# addr;圖片地址與相片名字的前部分
# num: 相片,名字的后綴。int 類型
def save_image(image,addr,num):
  address = addr + str(num)+ '.jpg'
  cv2.imwrite(address,image)
 
# 讀取視頻文件
videoCapture = cv2.VideoCapture("2.mp4")
# 通過攝像頭的方式
# videoCapture=cv2.VideoCapture(1)
 
#讀幀
success, frame = videoCapture.read()
i = 0
timeF = 12
j=0
while success :
  i = i + 1
  if (i % timeF == 0):
    j = j + 1
    save_image(frame,'./output/image',j)
    print('save image:',i)
  success, frame = videoCapture.read()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汾阳市| 永顺县| 南部县| 常州市| 出国| 徐水县| 无锡市| 信阳市| 凤翔县| 广元市| 准格尔旗| 陇西县| 搜索| 灌阳县| 吉木乃县| 武定县| 石楼县| 乌拉特后旗| 门头沟区| 磐安县| 南丹县| 八宿县| 拜城县| 扶余县| 阿合奇县| 家居| 满城县| 刚察县| 德钦县| 马尔康县| 黎平县| 雷州市| 新巴尔虎左旗| 济宁市| 枣庄市| 朔州市| 陵川县| 九江市| 彭水| 利津县| 聂拉木县|