Commit Graph

18 Commits

Author SHA1 Message Date
Jonathan Thomas 8bd98a592b Replace ObjectMask EdgeSAM seed masks with EfficientSAM ONNX
- Use a single EfficientSAM ONNX model for ObjectMask seed mask generation
- Add EfficientSAM prompt preprocessing and mask candidate selection
- Keep seed-frame output as the raw EfficientSAM mask while still seeding XMem
- Add ClipProcessingJobs::PreviewObjectMask for single-frame interactive previews
- Accept EfficientSAM model JSON keys while preserving legacy encoder_model aliases
- Remove ObjectMask protobuf shutdown call that could destabilize Python teardown
- Add ObjectMask ONNX validation coverage
2026-05-18 19:18:56 -05:00
Jonathan Thomas 1f0b1b9698 Add Object Mask effect with EdgeSAM and XMem propagation
- Add ObjectMask effect for rendering and exposing generated object masks
- Add EdgeSAM preprocessing path for prompt-based seed and reseed masks
- Add XMem ONNX propagation between seed frames for single-object tracking
- Support positive/negative points, positive rect prompts, and prompt keyframes
- Store generated masks in protobuf data for playback and downstream effects
- Add mask color/alpha plus stroke color/alpha/width effect controls
- Register ObjectMask with effect discovery and clip preprocessing jobs
- Add focused ObjectMask effect tests
2026-05-18 16:28:13 -05:00
Jonathan Thomas 47d1784b1c Validate YOLO ONNX models in libopenshot
- Add libopenshot-side ONNX model validation for object detection
- Return user-displayable error text instead of throwing through callers
- Share ONNX load/error handling between validation and object detection processing
- Fail early for YOLOv5 on OpenCV older than 4.3
- Expose validation through ClipProcessingJobs for Python bindings
2026-05-13 14:30:40 -05:00
Jonathan Thomas 7355ac3c55 Fix regression caused by https://github.com/OpenShot/libopenshot/pull/827, where we changed the class_name of Object Detector 2022-06-21 11:30:30 -05:00
Frank Dana 59138ea3e4 Adopt license management via Reuse project/tool (#711)
* reuse-managed license/copyright headers

reuse is a tool for compliance with the REUSE recommendations. See
<https://reuse.software/> for more information, and
<https://reuse.readthedocs.io/> for the online documentation.

* Set jsoncpp license
* Add MIT license for Decklink sources
* Explicitly license examples/
  - Add headers to source files
  - Change blanket licensing in .reuse/dep5 to only cover binary media
  - Import CC-BY-3.0 license and assign to sintel_trailer
2021-10-16 01:26:26 -04:00
Frank Dana d54e1aa673 Merge branch 'develop' into effect-parenting 2021-05-04 07:58:43 -04:00
Frank Dana 813c5175ca OpenCV: Adapt to API changes in OpenCV 4.5.2+ (#639)
* CVTracker: Handle API changes in OpenCV
The former cv::Tracker API we've been using is now cv::legacy::Tracker,
starting in OpenCV 4.5.1.

* CVTracker: Move some includes, add std:: prefixes

* Move ClipProcessingJobs into openshot NS

* OpenCV 4.5.1 message and auto-disabling

* Add fstream includes, explicit std:: namespace
Work around a MacOS bug where bare fstream resolves to the wrong class.

Co-authored-by: Brenno <brenno.caldato@gmail.com>
Co-authored-by: Brenno A. C. Caldato <BrennoCaldato@users.noreply.github.com>
2021-05-04 07:33:47 -04:00
Brenno f491d585fc Added author and added licence in ClipProcessingJobs 2021-04-20 23:07:23 -03:00
Brenno 3f63b2c638 Added error message handling for ClipProcessingJob 2020-11-01 20:02:46 -03:00
Brenno a9274df96b Resolving conflicts 2020-10-20 01:04:59 -03:00
Brenno 6ca35bbf9b Fixed Stabilizer and created Object Detector tests 2020-07-30 21:39:20 -03:00
Brenno 483f2883c9 Added normalized bboxes for tracker and object detector
Also added tests for ObjectDetection and several bug fixes
2020-07-28 21:01:57 -03:00
Brenno 1a598b16df Added CVObjectDetection and ObjectDetection effect
Also included kalman filter functions and code for tracking the output boxes from DNN model
2020-07-26 16:19:55 -03:00
Brenno d0ce70fdc0 Added thread runner with pre-processing effects
Also integrated a basic the tracker Effect with the UI, changed the effect creation to use Json messages, and added the ProcessingController class to handle thread communication
2020-07-16 21:10:02 -03:00
Brenno d6e0a69c1f improved the stabilize effect integration 2020-07-15 10:29:08 -03:00
Brenno 6d547650dc Added code comments and minor changes
Added map instead of vector in the Stabilizer, removed unnecessary code and improved documentation
2020-07-09 20:26:01 -03:00
Brenno c60236a1c3 Added Stabilize Effect 2020-07-08 22:31:26 -03:00
Brenno 0ef77af878 Included Tracker as an effect 2020-07-08 11:49:46 -03:00