Я не знаю, что переключатель cambrift очень хорошо, но я предполагаю, что вы используете opencv. Код ниже отрывок из примера OpenCV:
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
dst = cv2.calcBackProject([hsv],[0],roi_hist,[0,180],1)
# apply meanshift to get the new location
ret, track_window = cv2.CamShift(dst, track_window, term_crit)
Для первого изображения, выбирая dst
как большой, как размер кадра должен решить вашу проблему. В противном случае вы можете использовать скользящий оконный подход для определения цели в первом кадре.
С другой стороны, термин реальное время действительно зависит от ваших потребностей и развертывания среды в таких аспектах: скорость
- кадра входного видео
- разрешение рама
- цветовой гамме рама (RGB, YUV, серый, ВПГ, ...)
- максимальное/минимальное размер мишени
- максимальная скорость цели (пикселей/кадр)
- Должен ли он быть устойчивым к окклюзии?
- Каковы наиболее специфические свойства ваших целей: автомобили, люди/животные, твердые объекты, изменение формы, поворот, ...
- Вы используете процессор, DSP или GPU?
- ...
Поскольку все вышеперечисленные соображения были бы действительно эффективными на ваш выбор, я не могу рекомендовать вам конкретный один. This one может быть полезным, например.
Я бы копал в IEEE explore и сделал поиск, такой как real time object tracking
. Я сделал один для вас :) Here - ваша лучшая стартовая точка, я думаю.
Надеюсь, это поможет. Gokhan.
Два вопроса: случайный объект из одного учебного изображения * и * в реальном времени. У вас есть пример приложения, которое уже делает это? –