Untitled
unknown
python
a year ago
1.1 kB
4
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