willtrieagain

chroma_keying.py

Jan 17th, 2022 (edited)
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. import cv2
  2. import numpy as np
  3.  
  4. fg_video = cv2.VideoCapture("videoplayback.mp4")
  5. bg_video = cv2.VideoCapture("Pexels Videos 2098989.mp4")
  6. ret, frame = fg_video.read()
  7. assert ret
  8. h,w = frame.shape[:2]
  9.  
  10. fourcc = cv2.VideoWriter_fourcc(*'mp4v')
  11. out = cv2.VideoWriter('composite.mp4',fourcc, 30.0, (w, h))
  12.  
  13. bound = 100
  14.  
  15. while True:
  16. ret, fg = fg_video.read()
  17. if not ret: break
  18. ret, bg = bg_video.read()
  19. if not ret: break
  20. lower = np.array([0, 100, 0])
  21.  
  22. upper = np.array([bound, 255, bound])
  23. mask = cv2.inRange(fg, lower, upper)
  24. # masked_image = np.copy(frame)
  25. fg[mask != 0] = [0, 0, 0]
  26. bg = cv2.resize(bg, (w, h))
  27.  
  28. # cv2.imshow("background_image", background_image)
  29. bg[mask == 0] = [0, 0, 0]
  30. final_image = bg + fg
  31. out.write(final_image)
  32.  
  33. fg_video.release()
  34. bg_video.release()
  35. out.release()
  36. cv2.destroyAllWindows()
Add Comment
Please, Sign In to add comment