Guest User

Untitled

a guest
Oct 17th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. # 何秒目のところから画像切り出したいなー
  2.  
  3. ## 20分目のところから画像切り出し
  4. 20分後のところから画像を切り出したいって時に使う。
  5.  
  6. ```python
  7. import os
  8. import shutil
  9. import cv2
  10. import time
  11.  
  12. def video_2_frames(video_file='movie/test.MP4', image_dir='test/', image_file='img_%s.png'):
  13. # Delete the entire directory tree if it exists.
  14. if os.path.exists(image_dir):
  15. shutil.rmtree(image_dir)
  16. # Make the directory if it doesn't exist.
  17. if not os.path.exists(image_dir):
  18. os.makedirs(image_dir)
  19.  
  20. cap = cv2.VideoCapture(video_file)
  21.  
  22. # 総フレーム数とFPSを確認
  23. frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
  24. fps = int(cap.get(cv2.CAP_PROP_FPS))
  25. #print("FRAME_COUNT: ", frame_count)
  26. #print("FPS: ", fps )
  27.  
  28. # 20分ぐらいのところまで早送り
  29. start_pos = fps * (60 * 20)
  30.  
  31. # フレームポジションをファイル名にして、1秒4枚ぐらいの気持ちで画像保存
  32. print("-- start")
  33. for idx in range(start_pos, frame_count, round(fps/4)):
  34. cap.set(cv2.CAP_PROP_POS_FRAMES, idx)
  35. current_pos = str(int(cap.get(cv2.CAP_PROP_POS_FRAMES)))
  36. cv2.imwrite("test/" + current_pos +".png", cap.read()[1])
  37. print("-- done.")
  38.  
  39. video_2_frames()
  40. ```
Add Comment
Please, Sign In to add comment