-
Notifications
You must be signed in to change notification settings - Fork 565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Effect parenting #4058
Merged
Merged
Effect parenting #4058
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
It's now possible to adjust the tracked bounding box from the preview window. Some work is needed to make it generic to the ObjectDetection effect and future effects
…ransform handler for the tracker effect
…ffect - JSON communication with tracker effect no longer needs to pass the frame_number as argument - Added bounding box ID generator to Tracker effect
The GUI let's the user attach a clip to a tracked object's bounding-box showing all clip's and their respective tracked objects (if any) names and icons as a dropdown list.
This feature let's the user attach a clip to an object detected by the Object Detection effect, in the same way it is done with the Tracker Effect.
Added support to show transform handlers for the bounding-boxes (Tracked Objects) detected by the Object Detection effect and update their Keyframes.
Only show the tracked object's icon (on the mini-GUI to attach a clip to it) and transform handler if the object appears on the screen (i.e. it has data for the requested frame)
When using the ObjectDetection effect, it's now possible to select one detected object and update it's properties through it's transform handler.
Removed the necessity to append the detected object index (related to the frame) to the effect JSON - which makes the JSON smaller and the performance better.
Updated "attached_id" to "parentObjectId"
The transform handler of the Tracked Object will only be drawn if the it is visible in that frame. Fixed typo on properties_tableview.py where it wouldn't show the Keyframe menu to let the user choose the interpolation type.
…spect ratio. When selecting regions from a Clip, the aspact ratio can be different than the project, and thus, we need to only show coordinates that match our clip image data.
There is still an issue when tracking a Emogi file. The svg size on clip.Reader() is 1024x1024 while Clip::apply_keyframes receives a 335x335 frame
- Somehow, having it there makes PyQt5 freezable. That shouldn't be the case, and it seems like a bad sign.
- Key "objects" in Json hold a dict of tracked objects - self.data now keep track of all changes in detected objects Problems: - Keyframe updates are slow when interacting with transform handlers - Saving the project is also slow
Changed JSON communication for detected objects
ferdnyc
reviewed
May 19, 2021
ferdnyc
reviewed
May 19, 2021
ferdnyc
reviewed
May 19, 2021
ferdnyc
reviewed
May 19, 2021
ferdnyc
reviewed
May 19, 2021
Comment on lines
-230
to
+241
c.data = {property_key: c.data[property_key]} | ||
clip_data = {property_key: clip_data[property_key]} | ||
if object_id: | ||
clip_data = {'objects': {object_id: clip_data}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Setting the contents through clip_data
like this, I don't believe the original c.data
will be reduced — assigning a new value to clip_data
breaks its reference to c.data
. To gain the performance improvements, c.data
needs to be updated directly.
Thanks @ferdync Co-authored-by: Frank Dana <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds in functionalities for using the new OpenCV-related effects. The main functionalities are:
Heavily related to OpenShot/libopenshot#649
Tracker and ObjectDetection transform handlers:

Clip attached to a tracked object

Effect parenting

Object Detection with transform handlers
