OpenCV фоновое вычитание / кодовая книга? - PullRequest
2 голосов
/ 14 октября 2011

Я пробую метод кодовой книги, но не совсем понимаю смысл int в структуре code_book.Это переменная, которая использовалась для подсчета каждого доступа, но это полностью потеряло меня.Посчитай какой доступ к чему?Кем?Может кто-нибудь объяснить мне, пожалуйста, назначение переменной-члена?Пожалуйста, попробуйте использовать нетехнические термины

Во-вторых, в структуре ce, какой смысл в данных int t_last_update и int устаревших?Предполагается, что t_last_update убивает устаревшие записи, но что за устаревшая запись?Что вы подразумеваете под "убить его"?А для int stale предполагается считать максимальный отрицательный пробег?Что такое отрицательный прогон и для чего он используется?

Спасибо за вашу помощь

PS: просто подтверждаю то, что мне нужно: объясните, что делает int в структуре code_book и что делают int t_last_update и int _staleделать в структуре ce.

1 Ответ

3 голосов
/ 14 октября 2011

Я предполагаю, что вы говорите об этом разделе кода из книги OpenCV:

typedef struct code_book {
  ...
  int t; // Count every access
} codeBook;

По сути, вы можете рассматривать поле t как счетчик тиков каждый раз, когда новыйкадр добавлен в кодовую книгу.Используется для определения того, сколько времени прошло с начала сбора кодовой книги или до последнего удаления устаревших пикселей.

РЕДАКТИРОВАТЬ: У вас отслеживаются две структуры данных.codeBook похож на родительский элемент codeBook_elements (то есть структуры ce ), хранящейся в нем. t увеличивается каждый раз, когда кодовая книга обновляется.Но это обновление не может увеличивать все codeBook_elements.Итак ...

t_last_update - это последний раз, когда к конкретному codeBook_element был получен доступ.

stale помогает отследить, сколько "старой" кодовой книгизаписи находятся в кодовой книге.

negRun обозначает отрицательное время выполнения.Он отслеживает, сколько времени прошло с момента обращения к записи кодовой книги.Если он слишком длинный, то он считается устаревшим и удаляется для экономии памяти.

В примерах OpenCV обновлено описание метода кодовой книги.Взгляните на образец bgfg_codebook.cpp .

Надеюсь, что это помогло!

...