Skip to content
This repository has been archived by the owner on Feb 22, 2020. It is now read-only.

Commit

Permalink
fix(shotdetect): fix shot boundary
Browse files Browse the repository at this point in the history
  • Loading branch information
raccoonliukai committed Sep 27, 2019
1 parent fda7f96 commit b69591d
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions gnes/preprocessor/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,7 @@ def kmeans_algo(distances: List[float], **kwargs) -> List[int]:
shots.append(0)
for i in range(0, len(clt.labels_)):
if big_center == clt.labels_[i]:
shots.append((i + 2))
shots.append((i + 1))
if shots[-1] < num_frames:
shots.append(num_frames)
else:
Expand Down Expand Up @@ -356,18 +356,18 @@ def motion_algo(distances: List[float], **kwargs) -> List[int]:
arg_dict.update(kwargs)

shots = []
num_frames = len(distances) + 1
num_frames = len(distances) + 2 * 2 + 1
p = peakutils.indexes(np.array(distances).astype('float32'), thres=arg_dict['threshold'], min_dist=arg_dict['min_dist']) if len(distances) else []
if len(p) == 0:
return [0, num_frames]

shots.append(0)
shots.append(p[0] + 2)
shots.append(p[0] + 2 + 1)
for i in range(1, len(p)):
# We check that the peak is not due to a motion in the image
valid_dist = arg_dict['motion_step'] or not check_motion(distances[p[i]-arg_dict['motion_step']:p[i]], distances[p[i]])
if valid_dist:
shots.append(p[i] + 2)
shots.append(p[i] + 2 + 1)
if shots[-1] < num_frames - arg_dict['min_dist']:
shots.append(num_frames)
elif shots[-1] > num_frames:
Expand Down

0 comments on commit b69591d

Please sign in to comment.