brainbox.video
Functions for analyzing video frame data
Functions
Outputs pythagorean distance between two frames. |
|
Return the difference between frames. |
|
Returns a min-max normalized vector of motion energy between frames. |
- frame_diff(frame1, frame2)[source]
Outputs pythagorean distance between two frames.
- Parameters:
frame1 – A numpy array of pixels with a shape of either (m, n, 3) or (m, n)
frame2 – A numpy array of pixels with a shape of either (m, n, 3) or (m, n)
- Returns:
An array with a shape equal to the input frames
- frame_diffs(frames, diff=1)[source]
Return the difference between frames.
May also take difference between more than 1 frames. Values are normalized between 0-255.
- Parameters:
frames – Array or list of frames, where each frame is either (y, x) or (y, x, 3).
diff – Take difference between frames N and frames N + diff.
- Returns:
uint8 array with shape (n-diff, y, x).
- motion_energy(frames, diff=2, kernel=None, normalize=True)[source]
Returns a min-max normalized vector of motion energy between frames.
- Parameters:
frames – A list of ndarray of frames.
diff – Take difference between frames N and frames N + diff.
kernel – An optional Gaussian smoothing to apply with a given kernel size.
normalize – If True, motion energy is min-max normalized
- Return dfdf_:
A vector of length n frames - diff, normalized between 0 and 1.
- Return stDev:
The standard deviation between the frames (not normalized).
- Example 1 - Calculate normalized difference between consecutive frames
df, std = motion_energy(frames, diff=1)
- Example 2 - Calculate smoothed difference between every 2nd frame
df, _ = motion_energy(frames, kernel=(9, 9))