убрать фон

From
Alexander Kamotsky (2:463/544.9)
To
Alexei Zaycev
Date
2002-05-16T23:30:12Z
Area
RU.ALGORITHMS
   Привет, Alexei Zaycev.

 AZ> Есть такая задачка:
 AZ> Дан набор из N черно-белых изображений (256 градаций) одинакового
 AZ> размера, являющихся последовательностью кадров видеосъемки. Снимаемый
 AZ> объект находится в ПОСТОЯННОМ движении, причем не только двигается, но
 AZ> и меняет форму.

 AZ> Требуется:
 AZ> 1. Проанализировать изображения и убрать фоновое изображение, общее
 AZ> для них всех (заменить на заданный цвет). 2. Скорректировать дефекты,
 AZ> связанные с загрязненностью оптики, глюками освещения и т.п... Дефекты
 AZ> считать постоянными для все последовательности.

Допустим есть 2 последовательных кадра. Отнимаем их попиксельно - получаем области, где объект отличается (переместился или изменил форму). Заливаем то, что не отличается заданным цветом (фон).

Да, грубо, да плохо... :-> Зато будут границы, пусть и не совсем точные.
Разумеется, если есть ограничения, например, на связность объекта, то надо это тоже использовать в алгоритме, чтоб он дырок не наделал...

 AZ> Комментарий:
 AZ> Задача усугубляется зашумленностью картинок и требованием к скорости.

Есть шум? Тогда перед сравнением (или после) делаем какую-нибудь фильтрацию, способную его устранить (ту же размывку, например. или дискретизацию по цвету. или уменьшить разрешение). Большая скорость? Тогда объект будет размытым - если надо чёткие границы, их просто неоткуда будет взять в этом случае (надо повышать частоту кадров). Если чёткие границы не надо, то смазанные части объекта считать шумом и см. "пункт про шум" =)

А вот насчёт корректировки дефектов, тут незнаю... Надо выписать все "и т.п." и посмотреть, что можно сделать в каждом случае (и стоит ли).

 AZ> Плиз, помогите кто чем может... ;-)

Ну, чем мог -- тем помог... =)


 Всего доброго, Alexei Zaycev.

--- #include <"tearline.cpp">
 * Origin: (-: "ниждиро йынтарбо" (2:463/544.9)