|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrey Glazunov 2:5020/400 19 May 2003 23:55:13 To : All Subject : определение сдвига блока в двумерном массиве --------------------------------------------------------------------------------
Hi All !
надо соорудить алгоритм измерения сдвига блока пикселей между двумя (и более
кадрами)... либо применить что-либо известное, но достаточно быстрое...
т.е. исходно юзер выделяет на массиве где-то 320*240 (массив заполнен
8битными элементами) область около 20*20 точек (блок) и это считать
начальным положением блока... затем на следующих изображениях-массивах этот
блок почти не меняясь по содержанию (хотя может немного поворачиваться
вокруг некоторой точки, допустим на +-15 градусов максимум) сдвигается на
некоторое количество элементов массива по вертикали и горизонтали,
необходимо определить на какое количество элементов массива сместился блок
по обоим координатам...
пока есть идея - посчитать среднеквадратичную разность между значениями
элементов блоков исходным блоком и выборкой, равной по размеру такому же
блоку (20*20) пикселей взятой из всего нового массива поочередно (со сдвигом
на 1 пиксел)... соотв наиболее близкое к нулю значение среднеквадратичной
разности и считать новым положением искомого блока...
имхо это неоптимальный алгоритм, но всетаки должен работать... а как в более
продвинутых системах осуществляется поиск движения некоторого элемента
изображения ? вообщем-то это немного похоже на работу оптической "мыши" и
там вроде относительно простым процессором обходятся ... но там сдвигается
весь массив, а здесь сдвигается только небольшая часть массива...
С уважением, Andrey Glazunov. http://drakan.ru
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.Mail.Ru (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/64880331c08a.html, оценка из 5, голосов 10
|