def create_individual_track_previews(self, filename, clip: Clip): # resolution of video file. # videos look much better scaled up filename_format = path.splitext(filename)[0] + "-{}.mp4" FRAME_SIZE = 4 * 48 frame_width, frame_height = FRAME_SIZE, FRAME_SIZE for id, track in enumerate(clip.tracks): video_frames = [] for region in track.bounds_history: frame = clip.frame_buffer.get_frame(region.frame_number) cropped = frame.crop_by_region(region) if cropped.thermal.size == 0: continue img = tools.convert_heat_to_img( cropped.thermal, self.colourmap, np.amin(cropped.thermal), np.amax(cropped.thermal), ) img = img.resize((frame_width, frame_height), Image.NEAREST) video_frames.append(np.asarray(img)) logging.info("creating preview %s", filename_format.format(id + 1)) tools.write_mpeg(filename_format.format(id + 1), video_frames)
def export_track_mpeg_previews(self, filename_base, tracker: TrackExtractor): """ Exports preview MPEG for a specific track :param filename_base: :param tracker: :param track: :return: """ # resolution of video file. # videos look much better scaled up FRAME_SIZE = 4*48 frame_width, frame_height = FRAME_SIZE, FRAME_SIZE frame_width = frame_width // 4 * 4 frame_height = frame_height // 4 * 4 for id, track in enumerate(tracker.tracks): video_frames = [] for frame_number in range(len(track.bounds_history)): channels = tracker.get_track_channels(track, frame_number) img = tools.convert_heat_to_img(channels[1], self.colormap, 0, 350) img = img.resize((frame_width, frame_height), Image.NEAREST) video_frames.append(np.asarray(img)) tools.write_mpeg(filename_base+"-"+str(id+1)+".mp4", video_frames)
def create_individual_track_previews(self, filename, tracker:TrackExtractor): # resolution of video file. # videos look much better scaled up filename_format = os.path.splitext(filename)[0] + "-{}.mp4" FRAME_SIZE = 4*48 frame_width, frame_height = FRAME_SIZE, FRAME_SIZE for id, track in enumerate(tracker.tracks): video_frames = [] for frame_number in range(len(track.bounds_history)): channels = tracker.get_track_channels(track, frame_number) img = tools.convert_heat_to_img(channels[1], self.colormap, 0, 350) img = img.resize((frame_width, frame_height), Image.NEAREST) video_frames.append(np.asarray(img)) print("creating preview {}".format(filename_format.format(id + 1))) tools.write_mpeg(filename_format.format(id + 1), video_frames)