Untitled
unknown
python
a year ago
1.1 kB
7
Indexable
import cv2
import numpy as np
def cosine(img):
img = img.copy()
meam = np.mean(img, keepdims=True)
norm = np.linalg.norm(img, keepdims=True)
return (img - meam)/norm
cap = cv2.VideoCapture('vid_test.mp4')
length = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
_, prev = cap.read()
prev = cv2.cvtColor(prev, cv2.COLOR_BGR2GRAY)
# prev = cv2.blur(prev, (20, 20))
prev_ex = cosine(prev)
out = cv2.VideoWriter('out.avi',
cv2.VideoWriter_fourcc(*'MJPG'),
2, (prev.shape[1], prev.shape[0]))
ff = []
for i in range(length):
_, frame_c = cap.read()
if frame_c is None:
break
frame = cv2.cvtColor(frame_c, cv2.COLOR_BGR2GRAY)
# frame = cv2.blur(frame, (20, 20))
frame_ex = cosine(frame)
mask = (frame_ex - prev_ex)
# mask = np.absolute(frame - prev)
# mask[mask<0.0001]=0
ff.append(mask)
# mask = np.permute_dims(np.array([mask, mask, mask]), (1,2,0))
out.write(frame_c*mask[..., None])
cap.release()
out.release()
cv2.destroyAllWindows()
Editor is loading...
Leave a Comment