Repace _compute_frame_average with numpy.mean by awkrail · Pull Request #480 · Breakthrough/PySceneDetect

Discussed in #64. I found that _compute_frame_average and numpy.mean outputs the same scores (averaging frame's pixels). Using numpy.mean can simplify the code, so I created this PR. As reported below, the speed is same between two methods.

_compute_frame_average

awkrail@awkrail:~/oss/PySceneDetect$ time scenedetect -i tmp/goldeneye.mp4 detect-threshold list-scenes
[PySceneDetect] PySceneDetect 0.6.5.2
[PySceneDetect] Detecting scenes...
  Detected: 0 | Progress: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1980/1980 [00:01<00:00, 1780.30frames/s]
[PySceneDetect] Processed 1980 frames in 1.1 seconds (average 1774.85 FPS).
[PySceneDetect] Detected 1 scenes, average shot length 82.6 seconds.
[PySceneDetect] Writing scene list to CSV file:
  goldeneye-Scenes.csv
[PySceneDetect] Scene List:
-----------------------------------------------------------------------
 | Scene # | Start Frame |  Start Time  |  End Frame  |   End Time   |
-----------------------------------------------------------------------
 |      1  |           1 | 00:00:00.000 |        1980 | 00:01:22.582 |
-----------------------------------------------------------------------

real    0m1.368s
user    0m4.619s
sys     0m1.495s

numpy.mean

awkrail@awkrail:~/oss/PySceneDetect$ time scenedetect -i tmp/goldeneye.mp4 detect-threshold list-scenes
[PySceneDetect] PySceneDetect 0.6.5.2
[PySceneDetect] Detecting scenes...
  Detected: 0 | Progress: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1980/1980 [00:01<00:00, 1780.21frames/s]
[PySceneDetect] Processed 1980 frames in 1.1 seconds (average 1763.84 FPS).
[PySceneDetect] Detected 1 scenes, average shot length 82.6 seconds.
[PySceneDetect] Writing scene list to CSV file:
  goldeneye-Scenes.csv
[PySceneDetect] Scene List:
-----------------------------------------------------------------------
 | Scene # | Start Frame |  Start Time  |  End Frame  |   End Time   |
-----------------------------------------------------------------------
 |      1  |           1 | 00:00:00.000 |        1980 | 00:01:22.582 |
-----------------------------------------------------------------------

real    0m1.369s
user    0m4.471s
sys     0m1.629s