人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Python將視頻轉換為圖片介紹

發(fā)布日期:2022-02-03 00:14 | 文章來源:CSDN

代碼讓人頭禿,可是我喜歡上了代碼的邏輯感和代碼解決問題的力量。
(我要對這個專題的圖片進行修改,縮小看和我導頭像有點像QAQ)

代碼展示

此段代碼能夠實現多個文件夾中多個視頻片段的轉換,代碼的具體含義可以參考注釋。
具體操作為將此段代碼復制粘貼到創(chuàng)建好的main.py文件,配置好第63行的源文件路徑,然后運行。

# 將四個文件夾中的多個視頻文件轉換為圖片
import cv2
import os

number_in_dir = []  # 可以去掉
def video2image(video_path, image_save_dir):
 # 1. 將圖片的存儲路徑加上源文件的文件夾名,如'Coffee_room_01'等。
 if os.path.exists(video_path):  # 判斷源路徑是否正確
  print(video_path + '\t ok')
  if video_path.split('\\')[-2] != 'Videos':  # 這個根據我文件路徑自行添加的
image_save_dir += video_path.split('\\')[-2] + '\\'
  else:
image_save_dir += video_path.split('\\')[-3] + '\\'
  number_in_dir.append(len(os.listdir(video_path)))  # 可以去掉
 else:
  print(video_path + ' \033[0;37;41merror\033[0m')
  return
 # 2. 依次讀取源文件里的文件,如果后綴名是‘avi'或 'MP3',則創(chuàng)建一個關于文件名的子文件夾
 files_in_video_path_list = os.listdir(video_path)
 print(len(files_in_video_path_list))  # 獲取當前文件夾下文件個數,用來判斷是否有其他類型的文件
 file_count = 0  # 用于統(tǒng)計個數,驗證是否全為視頻文件,會與len(files_in_video_path_list)進行比較
 for file_in_video_path in files_in_video_path_list:
  file_name = os.path.basename(file_in_video_path)
  if file_name.split('.')[-1] == 'avi' or file_name.split('.')[-1] == 'mp3':
file_count += 1  # 視頻文件數+1
every_video_save_dir = file_name.split('.')[0] + '\\'
if not os.path.exists(image_save_dir + every_video_save_dir):  # 創(chuàng)建屬于相應文件夾的存儲路徑
 os.makedirs(image_save_dir + every_video_save_dir)
  else:
print(' \033[0;37;41merror\033[0m')
break
  # 3. 打印正在處理文件的序號和他的文件名,并開始轉換
  print(str(file_count) + ':' + file_name)
  cap = cv2.VideoCapture(video_path + file_name)
  flag = cap.isOpened()
  if not flag:
print("open" + video_path + file_name + "error!")
  frame_count = 0  # 給每一幀標號
  while True:
frame_count += 1
flag, frame = cap.read()
if not flag:  # 如果已經讀取到最后一幀則退出
 break
if os.path.exists(image_save_dir + every_video_save_dir + str(frame_count) + '.jpg'):  # 在源視頻不變的情況下,如果已經創(chuàng)建,則跳過
 break
cv2.imwrite(image_save_dir + every_video_save_dir + str(frame_count) + '.jpg', frame)
  cap.release()
  print(file_name + ' save to ' + image_save_dir + every_video_save_dir + 'finished ')  # 表示一個視頻片段已經轉換完成
 if file_count != len(files_in_video_path_list):
  print(' \033[0;37;41Maybe loss something\033[0m')

if __name__ == '__main__':
 # 需要轉換的文件路徑列表(自定義修改)
 video_path_list = ['E:\\Datasets_FallDetection\\2 LE2I\Coffee_room_01\\Coffee_room_01\\Videos\\',
  'E:\\Datasets_FallDetection\\2 LE2I\Home_01\\Home_01\Videos\\',
  'E:\\Datasets_FallDetection\\2 LE2I\Lecture_room\\Lecture room\\',
  'E:\\Datasets_FallDetection\\2 LE2I\\Office\\Office\\']
 # 預期存儲在的主文件夾,即'result'文件夾
 image_save_dir = '.\\result\\'
 # 進行轉換
 for video_path in video_path_list:
  video2image(video_path, image_save_dir)

結果展示

將創(chuàng)建’result’主文件夾和副文件夾

每個副文件夾下都將生成與視頻名相對應的子文件夾,并按視頻幀數順序轉換為jpg圖片。

終端上將提示正在處理的文件路徑,正在對哪個視頻進行轉換和轉換完成提示。

總結

到此這篇關于Python將視頻轉換為圖片介紹的文章就介紹到這了,更多相關Python視頻轉換為圖片內容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!

海外服務器租用

版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

相關文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部