=DeaD= писал(а):
А можно в двух словах что за функция вычисления контрольных точек? Или это в двух словах не объяснить и проще прочитать весь трактат?
В двух словах можно.
Вычисляем гаусс-сглаженные копии исходного изображения для разных "сигм".
Сигмы для одной октавы такие:
[s0; s0*k; s0*k^2 ... s0*k^(n-1)]
s0 > 1;
2*s0 = s0*k^n;
соответственно, k = КОРЕНЬ_n_СТЕПЕНИ (2)
Каждая следующая октава сглаженных копий вычисляется уже над уменьшенным вдвое изображением.
В итоге получим набор изображений I[0], I[1], ... , I[N-1], где N=OctavesAmount*n;
Потом ищем ф-ию для вычисления контрольных точек, DoG (Difference of Gaussian изображения), т.е. просто вычитаем:
G[0]=I[1]-I[0];
G[1]=I[2]-I[1];
G[N-2]=I[N-1]-I[N-2];
Находим экстремумы этого набора изображений. Т.е. локальные макс. (мин.). Это делается поиском среди всех пикселей изображения G[i] такого пикселя, который больше (меньше) всех восьми своих соседей, а также больше (меньше) 18-ти соседей сверху и снизу из G[i-1] и G[i+1] соответственно.
На этом можно было бы закончить поиск, но все эти экстремумы пока полагаются неустойчивыми и неточными (т.к. изображения следующей октавы у нас уменьшаются вдвое для всех октав). А как потом оперировать с этими точками - у него в конце статьи.