Fix keyframe attribute of interpolated shapes (#1937)

* Fix interpolated shapes

* update changelog
main
zhiltsov-max 6 years ago committed by GitHub
parent 1e2c826be5
commit 90b5752346
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -33,6 +33,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Points are dublicated during polygon interpolation sometimes (<https://github.com/opencv/cvat/pull/1892>)
- When redraw a shape with activated autobordering, previous points are visible (<https://github.com/opencv/cvat/pull/1892>)
- No mapping between side object element and context menu in some attributes (<https://github.com/opencv/cvat/pull/1923>)
- Interpolated shapes exported as `keyframe = True` (https://github.com/opencv/cvat/pull/1937)
### Security
-

@ -445,7 +445,7 @@ class TrackManager(ObjectManager):
def get_interpolated_shapes(track, start_frame, end_frame):
def copy_shape(source, frame, points=None):
copied = deepcopy(source)
copied["keyframe"] = True
copied["keyframe"] = False
copied["frame"] = frame
if points is not None:
copied["points"] = points

@ -38,6 +38,8 @@ class TrackManagerTest(TestCase):
interpolated = TrackManager.get_interpolated_shapes(track, 0, 2)
self.assertEqual(len(interpolated), 3)
self.assertTrue(interpolated[0]["keyframe"])
self.assertFalse(interpolated[1]["keyframe"])
def test_polygon_interpolation(self):
track = {
@ -69,6 +71,8 @@ class TrackManagerTest(TestCase):
interpolated = TrackManager.get_interpolated_shapes(track, 0, 2)
self.assertEqual(len(interpolated), 3)
self.assertTrue(interpolated[0]["keyframe"])
self.assertFalse(interpolated[1]["keyframe"])
def test_bbox_interpolation(self):
track = {
@ -100,6 +104,8 @@ class TrackManagerTest(TestCase):
interpolated = TrackManager.get_interpolated_shapes(track, 0, 2)
self.assertEqual(len(interpolated), 3)
self.assertTrue(interpolated[0]["keyframe"])
self.assertFalse(interpolated[1]["keyframe"])
def test_line_interpolation(self):
track = {
@ -130,4 +136,6 @@ class TrackManagerTest(TestCase):
interpolated = TrackManager.get_interpolated_shapes(track, 0, 2)
self.assertEqual(len(interpolated), 3)
self.assertEqual(len(interpolated), 3)
self.assertTrue(interpolated[0]["keyframe"])
self.assertFalse(interpolated[1]["keyframe"])
Loading…
Cancel
Save