Untitled

 avatar
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