python如何實(shí)現(xiàn)從視頻中提取每秒圖片
我是在做行人檢測(cè)中需要將一段視頻變?yōu)閳D片數(shù)據(jù)集,然后想將視頻每秒鐘的圖片提取出來(lái)。
- 語(yǔ)言:python
- 所需要的庫(kù):cv2,numpy (自行安裝)
opencv中提供了讀取視頻每幀圖片的函數(shù),下面的代碼可以將視頻的每幀圖片提取出來(lái)。注:我的視頻名字叫 2.mp4 ,提取圖片保存目錄 需要自己建一個(gè)名字叫 output 的文件夾。
# 導(dǎo)入所需要的庫(kù)
import cv2
import numpy as np
# 定義保存圖片函數(shù)
# image:要保存的圖片名字
# addr;圖片地址與相片名字的前部分
# num: 相片,名字的后綴。int 類型
def save_image(image,addr,num):
address = addr + str(num)+ '.jpg'
cv2.imwrite(address,image)
# 讀取視頻文件
videoCapture = cv2.VideoCapture("2.mp4")
# 通過(guò)攝像頭的方式
# 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()
現(xiàn)在我想按秒提取,只要我們能知道視頻每秒有多少幀,然后在上面的代碼基礎(chǔ)上每隔那么多幀提取一次就行了,這就需要查看視頻的幀率。一般情況下隨便用一個(gè)播放器打開(kāi)視頻后右鍵查看其屬性就可以看到幀率?,F(xiàn)在我的視頻幀率為12 ,每隔12幀提取一次就可以得到每秒的圖片。代碼如下:
# 導(dǎo)入所需要的庫(kù)
import cv2
import numpy as np
# 定義保存圖片函數(shù)
# image:要保存的圖片名字
# addr;圖片地址與相片名字的前部分
# num: 相片,名字的后綴。int 類型
def save_image(image,addr,num):
address = addr + str(num)+ '.jpg'
cv2.imwrite(address,image)
# 讀取視頻文件
videoCapture = cv2.VideoCapture("2.mp4")
# 通過(guò)攝像頭的方式
# 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()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
用Python生成器實(shí)現(xiàn)微線程編程的教程
這篇文章主要介紹了用Python生成器實(shí)現(xiàn)微線程編程的教程,本文來(lái)自于IBM官方開(kāi)發(fā)者技術(shù)文檔,需要的朋友可以參考下2015-04-04
Pandas自定義選項(xiàng)option設(shè)置
pandas有一個(gè)option系統(tǒng)可以控制pandas的展示情況,一般來(lái)說(shuō)我們不需要進(jìn)行修改,但是不排除特殊情況下的修改需求。本文將會(huì)詳細(xì)講解pandas中的option設(shè)置,感興趣的可以了解下2021-07-07
在PyTorch中使用標(biāo)簽平滑正則化的問(wèn)題
這篇文章主要介紹了如何在PyTorch中使用標(biāo)簽平滑正則化的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Python常用爬蟲(chóng)代碼總結(jié)方便查詢
今天小編就為大家分享一篇關(guān)于Python常用爬蟲(chóng)代碼總結(jié)方便查詢,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
Python中Array特性與應(yīng)用實(shí)例深入探究
這篇文章主要為大家介紹了Python中Array特性與應(yīng)用實(shí)例深入探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python將多個(gè)list合并為1個(gè)list的方法
今天小編就為大家分享一篇Python將多個(gè)list合并為1個(gè)list的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Python查找數(shù)組中數(shù)值和下標(biāo)相等的元素示例【二分查找】
這篇文章主要介紹了Python查找數(shù)組中數(shù)值和下標(biāo)相等的元素,結(jié)合實(shí)例形式分析了Python基于二分查找針對(duì)數(shù)組查找相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-02-02

