Есть ли пример реализации cv2.KalmanFilter?

Я пытаюсь создать простой трекер veeery для 2D-объектов, используя оболочку python для OpenCV (cv2).

Я заметил только 3 функции:

  • KalmanFilter (конструктор)
  • .predict ()
  • .correct (измерение)

Моя идея – создать код, чтобы проверить, работает ли kalman следующим образом:

kf = cv2.KalmanFilter(...) # set initial position cv2.predict() corrected_position = cv2.correct([measurement_x, measurement_y]) 

Я нашел несколько примеров, используя cv-оболочку, но не cv2 …

Заранее спасибо!

One Solution collect form web for “Есть ли пример реализации cv2.KalmanFilter?”

если вы используете opencv2.4, то это плохая новость: KalmanFilter непригоден, поскольку вы не можете установить матрицу перехода (или любую другую).

для opencv3.0 он работает правильно, вот так:

 import cv2, numpy as np meas=[] pred=[] frame = np.zeros((400,400,3), np.uint8) # drawing canvas mp = np.array((2,1), np.float32) # measurement tp = np.zeros((2,1), np.float32) # tracked / prediction def onmouse(k,x,y,s,p): global mp,meas mp = np.array([[np.float32(x)],[np.float32(y)]]) meas.append((x,y)) def paint(): global frame,meas,pred for i in range(len(meas)-1): cv2.line(frame,meas[i],meas[i+1],(0,100,0)) for i in range(len(pred)-1): cv2.line(frame,pred[i],pred[i+1],(0,0,200)) def reset(): global meas,pred,frame meas=[] pred=[] frame = np.zeros((400,400,3), np.uint8) cv2.namedWindow("kalman") cv2.setMouseCallback("kalman",onmouse); kalman = cv2.KalmanFilter(4,2) kalman.measurementMatrix = np.array([[1,0,0,0],[0,1,0,0]],np.float32) kalman.transitionMatrix = np.array([[1,0,1,0],[0,1,0,1],[0,0,1,0],[0,0,0,1]],np.float32) kalman.processNoiseCov = np.array([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],np.float32) * 0.03 #kalman.measurementNoiseCov = np.array([[1,0],[0,1]],np.float32) * 0.00003 while True: kalman.correct(mp) tp = kalman.predict() pred.append((int(tp[0]),int(tp[1]))) paint() cv2.imshow("kalman",frame) k = cv2.waitKey(30) &0xFF if k == 27: break if k == 32: reset() 
  • Найдите точки за строкой, используя Python
  • отображать изображение cv2.VideoCapture внутри поверхности Pygame
  • Совместимость OpenCV BFMatcher () всегда возвращает ошибку
  • Разбор XML или YML в OpenCV с помощью Python
  • OpenCV VideoCapture не может читать видео на Python, но в VS11
  • Как создать изображение OpenCV с изображения PIL?
  • Прочитайте изображение с OpenCV и покажите его с помощью Tkinter
  • Обнаружение надежной руки через компьютерное зрение
  •  
    Interesting Posts for Van-Lav

    Как использовать шаблон регулярного выражения nltk для извлечения определенного фрагмента фразы?

    Продолжайте получать исключения в веб-сервере python

    Порядок массива в `numpy.dot`

    сюжет 3d в python с использованием трех списков

    Генерировать случайные числа с заданным (численным) распределением

    Увеличьте номер версии, если Travis в github был успешным

    python setup.py для переопределения установленной версии

    Прокрутка системы веб-аутентификации

    Python: как проверить, существуют ли ключи и получить значение из словаря по убыванию приоритета

    Изменить название приложения Tkinter в строке меню OS X

    Pywin32 save .docx как pdf

    Все потоки Python выполняются на одном ядре

    В Python 2 в чем разница между «/» и «//» при использовании для разделения?

    Объект 'Query' не имеет атрибута 'kind' при использовании appcfg.py download_data

    Почему re.findall не является конкретным в поиске триплетных элементов в строке. питон

    Python - лучший язык программирования в мире.