convert interp

This commit is contained in:
Q
2025-08-16 22:33:06 +03:00
parent 9de42f7f40
commit a0030f7cc4
2 changed files with 20 additions and 3 deletions

View File

@@ -2,7 +2,7 @@ import argparse
from tsmark.video_annotator import Marker
VERSION = "0.7.4"
VERSION = "0.7.5"
def get_options():

View File

@@ -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
@@ -1276,7 +1292,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"):