From effe39d418b4a823dbfcd27275f5362a101e369a Mon Sep 17 00:00:00 2001 From: Jonathan Thomas Date: Mon, 31 Aug 2026 16:58:40 -0500 Subject: [PATCH] Guard tracked object masks without OpenCV --- src/EffectBase.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/EffectBase.cpp b/src/EffectBase.cpp index 2fb9b10b5..fc8cc0087 100644 --- a/src/EffectBase.cpp +++ b/src/EffectBase.cpp @@ -20,7 +20,6 @@ #include "Exceptions.h" #include "Clip.h" #include "Timeline.h" -#include "TrackedObjectBBox.h" #include "ReaderBase.h" #include "ChunkReader.h" #include "FFmpegReader.h" @@ -36,6 +35,10 @@ #include "ImageReader.h" #endif +#ifdef USE_OPENCV + #include "TrackedObjectBBox.h" +#endif + using namespace openshot; // Initialize the values of the EffectInfo struct @@ -548,6 +551,7 @@ std::shared_ptr EffectBase::GetMaskImage(std::shared_ptr target_ } std::shared_ptr EffectBase::TrackedObjectMask(std::shared_ptr target_image, int64_t frame_number) const { +#ifdef USE_OPENCV if (!target_image || target_image->isNull() || trackedObjects.empty()) return {}; @@ -595,6 +599,11 @@ std::shared_ptr EffectBase::TrackedObjectMask(std::shared_ptr ta if (!drew_any_box) return {}; return mask_image; +#else + (void) target_image; + (void) frame_number; + return {}; +#endif } void EffectBase::BlendWithMask(std::shared_ptr original_image, std::shared_ptr effected_image,