中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

python實現視頻分幀效果

發布時間:2020-09-28 04:22:03 來源:腳本之家 閱讀:159 作者:萬三豹 欄目:開發技術

本文實例為大家分享了python實現視頻分幀的具體代碼,供大家參考,具體內容如下

import cv2 
vidcap = cv2.VideoCapture('005.avi') 
success,image = vidcap.read() 
count = 0 
success = True 
while success: 
 success,image = vidcap.read() 
 cv2.imwrite("frame%d.jpg" % count, image)  # save frame as JPEG file 
 if cv2.waitKey(10) == 27:      
  break 
 count += 1 

python tools:將視頻的每一幀提取并保存

# coding=utf-8 
 
import os 
import cv2 
 
videos_src_path = "/home/wgp/視頻/" 
video_formats = [".MP4", ".MOV"] 
frames_save_path = "/home/wgp/視頻/" 
width = 320 
height = 240 
time_interval = 50 
 
 
def video2frame(video_src_path, formats, frame_save_path, frame_width, frame_height, interval): 
 """ 
 將視頻按固定間隔讀取寫入圖片 
 :param video_src_path: 視頻存放路徑 
 :param formats: 包含的所有視頻格式 
 :param frame_save_path: 保存路徑 
 :param frame_width: 保存幀寬 
 :param frame_height: 保存幀高 
 :param interval: 保存幀間隔 
 :return: 幀圖片 
 """ 
 videos = os.listdir(video_src_path) 
 
 def filter_format(x, all_formats): 
  if x[-4:] in all_formats: 
   return True 
  else: 
   return False 
 
 videos = filter(lambda x: filter_format(x, formats), videos) 
 
 for each_video in videos: 
  print "正在讀取視頻:", each_video 
 
  each_video_name = each_video[:-4] 
  os.mkdir(frame_save_path + each_video_name) 
  each_video_save_full_path = os.path.join(frame_save_path, each_video_name) + "/" 
 
  each_video_full_path = os.path.join(video_src_path, each_video) 
 
  cap = cv2.VideoCapture(each_video_full_path) 
  frame_index = 0 
  frame_count = 0 
  if cap.isOpened(): 
   success = True 
  else: 
   success = False 
   print("讀取失敗!") 
 
  while(success): 
   success, frame = cap.read() 
   print "---> 正在讀取第%d幀:" % frame_index, success 
 
   if frame_index % interval == 0: 
    resize_frame = cv2.resize(frame, (frame_width, frame_height), interpolation=cv2.INTER_AREA) 
    # cv2.imwrite(each_video_save_full_path + each_video_name + "_%d.jpg" % frame_index, resize_frame) 
    cv2.imwrite(each_video_save_full_path + "%d.jpg" % frame_count, resize_frame) 
    frame_count += 1 
 
   frame_index += 1 
 
 cap.release() 
 
 
if __name__ == '__main__': 
 video2frame(videos_src_path, video_formats, frames_save_path, width, height, time_interval) 

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

向AI問一下細節

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

AI

洛阳市| 疏勒县| 阿勒泰市| 大竹县| 蕲春县| 深圳市| 屏山县| 成都市| 嘉荫县| 桃园市| 宝鸡市| 靖江市| 景洪市| 闸北区| 台山市| 全州县| 海口市| 鄱阳县| 理塘县| 阳曲县| 太谷县| 阿勒泰市| 镶黄旗| 稷山县| 诸暨市| 万安县| 连城县| 克山县| 潞城市| 常宁市| 宣恩县| 北票市| 和静县| 资源县| 敖汉旗| 射洪县| 融水| 常州市| 鹤壁市| 苍梧县| 子长县|