小編給大家分享一下python如何使用openCV遍歷文件夾里所有視頻文件并保存成圖片,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創新互聯是一家專業提供浮梁企業網站建設,專注與網站建設、網站制作、H5建站、小程序制作等業務。10年已為浮梁眾多企業、政府機構等服務。創新互聯專業網站設計公司優惠進行中。如果你在文件夾里有很多視頻,并且文件夾里還有文件夾,文件夾里的文件夾也有視頻,怎么能逐個讀取并且保存。。所以我寫了個代碼用了os,walk,這個可以遍歷所有文件夾里的文件和文件夾
import os import cv2 cut_frame = 250 # 多少幀截一次,自己設置就行 save_path = "C:\文獻與資料\手持紅外\圖片" for root, dirs, files in os.walk(r"C:\文獻與資料\手持紅外"): # 這里就填文件夾目錄就可以了 for file in files: # 獲取文件路徑 if ('.mp4' in file): path = os.path.join(root, file) video = cv2.VideoCapture(path) video_fps = int(video.get(cv2.CAP_PROP_FPS)) print(video_fps) current_frame = 0 while (True): ret, image = video.read() current_frame = current_frame + 1 if ret is False: video.release() break if current_frame % cut_frame == 0: # cv2.imwrite(save_path + '/' + file[:-4] + str(current_frame) + '.jpg', # image) # file[:-4]是去掉了".mp4"后綴名,這里我的命名格式是,視頻文件名+當前幀數+.jpg,使用imwrite就不能有中文路徑和中文文件名 cv2.imencode('.jpg', image)[1].tofile(save_path + '/' + file[:-4] + str(current_frame) + '.jpg') #使用imencode就可以整個路徑中可以包括中文,文件名也可以是中文 print('正在保存' + file + save_path + '/' + file[:-4] + str(current_frame))
ps:下面看下python 遍歷文件夾
import os # 遍歷文件夾 def walkFile(file): for root, dirs, files in os.walk(file): # root 表示當前正在訪問的文件夾路徑 # dirs 表示該文件夾下的子目錄名list # files 表示該文件夾下的文件list # 遍歷文件 for f in files: print(os.path.join(root, f)) # 遍歷所有的文件夾 for d in dirs: print(os.path.join(root, d)) def main(): walkFile("f:/ostest/") if __name__ == '__main__': main()
以上是“python如何使用openCV遍歷文件夾里所有視頻文件并保存成圖片”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯成都網站設計公司行業資訊頻道!
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網站題目:python如何使用openCV遍歷文件夾里所有視頻文件并保存成圖片-創新互聯
文章轉載:http://m.kartarina.com/article44/ccighe.html
成都網站建設公司_創新互聯,為您提供品牌網站制作、小程序開發、手機網站建設、定制開發、電子商務、企業建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯