Код java выглядит следующим образом:
class Foo { public static int a() { return 1; } }
станет следующим в kotlin:
class Foo { companion object { fun a() : Int = 1 } }
Однако, используя @JvmStatic аннотацию на JVM, мы можем имеют члены сопутствующих объектов, сгенерированных как реальные статические методы и поля.
Как насчет того, чтобы вычесть первый кадр из следующих? Если вы можете знать или можете обнаружить, когда нет падения, и вычесть его, разница даст вам только результат падения.
Этот подход может быть интересен также, если у вас есть несколько капель в разных местах и вы хотите отказаться от предыдущей капли. Обратите внимание, что вы можете делать вычитание до и после установки порога. Я бы порекомендовал перед порогом.
Если вы знаете, что в вашем процессе происходит много потрясений, вам, вероятно, нужно применить цифровую стабилизацию, и в этом случае я бы посоветовал взглянуть на этот учебник: https://www.learnopencv.com / video-стабилизация-использование-сопоставление-точка-соответствие-в-opencv /
Конечно, стабилизация должна быть сделана до вычитания.
В общем, для вашей проблемы я бы не использовал адаптивный метод. Порог должен быть одинаковым для всех кадров, если он адаптируется в зависимости от изображения, вы можете получить недопустимые результаты.
Надеюсь, я правильно понял вашу проблему!