У вас могут быть проблемы с обнаружением "движения", например, при вождении в автомобиле.В этом случае смотреть на что-то внутри вашего автомобиля не считается движением, а смотреть на что-то снаружи - все равно (если это не так далеко).Для этого может быть много других случаев.
Я бы начал с проверки, находится ли камера в focus .Это не то же самое, что проверка того, является ли кадр размытым, но это может быть очень близко.
Другой вариант, который я могу придумать, это просто проверить 2 или более последовательных кадра и посмотреть, являются ли они относительно одинаковыми.Чтобы сделать что-то подобное, лучше всего определить сетку, например, 16x16, для которой вы оцениваете аналогичные значения.Вам нужно будет отобразить ваши фотографии, что означает ручное изменение их размера наполовину, пока вы не получите изображение 16x16 (2000x1500 станет 1024x1024 -> 512x512 -> 256x256 ...).Затем возьмите эти 16x16 пикселей и сохраните их.Когда у вас будет достаточно кадров (не менее 2), вы можете начать сравнивать эти значения.GPU идеально подходит для изменения размера, но эти значения 16x16, вероятно, лучше всего оценивать на процессоре.Что вам нужно сделать, так это найти среднюю разницу в пикселях в 2 последовательных буферах 16x16.Затем используйте это, чтобы оценить, должно ли быть разрешено обнаружение.
Эта процедура все еще может быть не идеальной, но она должна быть относительно осуществимой с точки зрения производительности.Может быть несколько ярлыков, так как некоторые инструменты, возможно, уже меняют размеры, так что вам не нужно «вдвое» их вручную.С теоретической точки зрения вы создаете сектора и вычисляете их средний цвет.Если все секторы имеют почти одинаковый цвет между 2 и более кадрами, существует высокая вероятность того, что камера за это время не сильно двигалась, и изображение не должно быть размытым от движения.Тем не менее, если камера не в фокусе, вы можете иметь несколько последовательных кадров, которые в точности совпадают, но на самом деле все они размыты.То же самое происходит, если вы обнаружите движение телефона.