diff --git a/tsmark/__init__.py b/tsmark/__init__.py index bdf355a..7ea9a7a 100644 --- a/tsmark/__init__.py +++ b/tsmark/__init__.py @@ -2,7 +2,7 @@ import argparse from tsmark.video_annotator import Marker -VERSION = "0.7.4" +VERSION = "0.7.5" def get_options(): diff --git a/tsmark/video_annotator.py b/tsmark/video_annotator.py index 52e3059..9b69bf7 100755 --- a/tsmark/video_annotator.py +++ b/tsmark/video_annotator.py @@ -446,6 +446,21 @@ class Marker: "age": None, } + def convert_interpolated_points(self): + + if self.point_click == 1 and self.point_index in self.points: + for nr in range(self.frames): + ip = self.get_interpolated_point(nr=nr) + if ip["type"] == "interp" and ip["visible"] == 1: + self.points[self.point_index][nr] = { + "x0": ip["x0"], + "y0": ip["y0"], + "x1": ip["x1"], + "y1": ip["y1"], + "visible": 1, + } + self.interpolate_points() + def modify_point(self, position, x, y): """position: tl topleft, br bottomright, c center""" if not self.point_index in self.points: @@ -783,9 +798,10 @@ class World: q or esc quit Bounding box editor: - p toggle bounding box drawing. follow with any key as index. + p toggle bounding box drawing. enter any key as index. o toggle object is occluded x toggle (delete) key frame + r convert interpolated points to points (no undo!) mouse left: set top-left corner of box mouse middle: set center of box mouse right: set lower right corner of box @@ -1277,7 +1293,8 @@ class World: self.toggle_point(self.nr) else: self.toggle_stamp() - + elif k & 0xFF == ord("r"): # convert interpolated points + self.convert_interpolated_points() elif k & 0xFF == ord("v"): self.show_info = not self.show_info elif k & 0xFF == ord("h"):