I'm currently working on my own project on color correcting Dragon Ball Z. There're a few parts to it, but the most tedious work is to build a montage for each scene for better color matching accuracy, and that's the reason I wrote this script.
This script is basically a copy of what this guy did
here. It takes in a video, generate a montage for every scene, and append them all together into one montage clip.
Download
usage
Code:
import vapoursynth as vs
import dbz_colormatch as dbzcm
clip = core.ffms2.Source("kai_001.mp4")
scenechange_file = r"kai_001.txt"
scenechange_skip_file = r'kai_001_skip.txt'
clip = dbzcm.BuildMontage(clip, frame_per_scene=9, scenechange_file, scenechange_skip_file)
scene change text format:
Each number is the frame number of the starting frame of a scenechange.
Scenechange skip default to None. It is mainly used just for Dragon Ball Z to not process title scene/midshow intro. If scenechange skip has frame 200, that means frames 200-299 would be skipped.
frame_per_scene: number of reference frames per montage, with a fixed display pattern. Default=9, max=16.
2017-08-12: updated script
2017-09-06: updated script
2017-12-05: updated script, separated the montage builder function from the main dbz processing script.
2017-12-12: rename module name to all lowercase, added helper function reorder_frames and replace_frames
2017-12-15: removes mode 1 because it gives poor result most of the time. Simplified everything to just one frame_per_scene number at minimum.