我尝试使用运动检测器来检测视频中的流星,并以代码UseMotionDetector.cpp为例。如果我使用运动检测器的默认选项比没有工作。我认为这可能与物体的尺寸小、速度快或噪音大有关。运动检测器有大量的参数 (也包括这),但我没有使用任何运动检测器的经验。
所以我有一些问题:
提前感谢!
发布于 2021-01-29 09:40:57
我已经分析了您的视频和有一些问题,不允许工作Simd::运动::检测器正确地与默认设置。你已经在上面列出了其中大部分:
为了解决这些问题,我改变了运动检测器的下列参数:
为了检测小尺寸的对象,我减少了模型中的最小对象大小:
Model model;
model.size = FSize(0.01, 0.01); // By default it is equal to FSize(0.1, 0.1).
detector.SetModel(model);
为了减少快速运动的影响:
Options options;
options.TrackingAdditionalLinking = 5; // Boosts binding of trajectory.
为了解决对象存在时间短的问题:
options.ClassificationShiftMin = 0.01; // Decreases minimal shift of object to be detected.
options.ClassificationTimeMin = 0.01; // Decreases minimal life time of object to be detected.
为了减少大噪音:
options.DifferenceDxFeatureWeight = 0; // Turns off gradient along X axis feature.
options.DifferenceDyFeatureWeight = 0; // Turns off gradient along Y axis feature.
detector.SetOptions(options);
而且起作用了!我希望我帮了你。
https://stackoverflow.com/questions/65934224
复制相似问题