| Issue 6: | О циклической очереди | |
| 1 person starred this issue and may be notified of changes. | Back to list |
итак, есть массив фреймов, который будет использоваться для обновления фона. будет глобальной переменной
IplImage** BGFrames;
перед тем как обновлять фон нужно обновить очередь - удалить самый старый фрейм и на его место записать новенький.
теперь, когда вызываем функцию
IplImage* UpdateBGModel(const IplImage** src, const int n, double* const w)
нужно чтобы src указывал на первый *допустим* старый кадр.
массив # # # # # # # # # # # # # # # #
^ ^ ^
^ ^ ^
BGFrames [самый новый кадр] [самый старый OldFramePosition]
при вызове функции тогда передаем BGFrames+OldFramePosition
а внутри функции делаем так scr[(i+OldFramePosition)%n]
только вот проблемка - деление вообщето долгая операция.
другой вариант - список. тогда чтобы переписать там файл нужно перебить 3 указателя.
думаю, список проще и лучше.
жду коментов.
Sep 21, 2011
#1
lart...@gmail.com
Sep 22, 2011
>будет глобальной переменной точно? Мне кажется, вполне логичным вариантом будет просто циклически записывать и передавать указатель на начало массива + номер "настоящего" первого элемента. И никаких делений вроде не надо, только немного сравнений. + Зачем прямо удалять старый кадр? Перезаписываем и все.
Sep 22, 2011
>И никаких делений вроде не надо, только немного сравнений. напиши,как >Зачем прямо удалять старый кадр? Перезаписываем и все. да, перебиваем указатели, "удалить" не в прямом смысле
Sep 23, 2011
У меня в OpenCV.cpp написан кусок записи картинок в буфер, можно найти по строчке nFirst=tor(nFirst+1,N);
Sep 25, 2011
Насколько я понимаю, старые кадры в любом случае придется удалять, в противном случае, получим утечки памяти. Мы же не просто перебиваем указатели, а выделяем память под кадр видео (по факту новое изображение) при получении очередного кадра.
Sep 25, 2011
Если мы используем табличку, то мы ее один раз создаем в начале работы программы и в конце удаляем. В процессе работы же никаких выделений памяти нету.
Sep 25, 2011
какую табличку?
Sep 26, 2011
Таблица == двумерный массив :)
Sep 26, 2011
Ребят, думаю, что пора перенести обсуждение, например, в скайп или вынести на собрание, потому что я тоже не понимаю, откуда берется эта табличка. |