Это математическое выражение для определения угла Харриса:
Но у меня есть следующие сомнения:
- Каково физическое значение и v ? Многие ссылки говорят, что это величина, на которую сместилось окно w . Так на сколько сдвинуто окно? Один пиксель или два пикселя?
- Является ли суммирование по позициям пикселей в окне?
- Предполагая, что просто , I ( x , y ) является интенсивностью одиночного пикселя в точке ( x , y ) или суммой интенсивностей внутри окна с центром в точке ( x , y ) ?
- Согласно вики, они говорят, что изображение 2D, обозначено I, а затем просит рассмотреть участок изображения над областью , а затем использует обозначение I ( x , y ).
Мне сложно понять математическое объяснение. У кого-нибудь есть идея?
image-processing
opencv
linear-algebra
rotating_image
источник
источник
Ответы:
Смысл этой формулы действительно очень прост. Представьте, что вы берете две одинаковые по размеру области изображения: синюю и красную:
Функция окна равна 0 за пределами красного прямоугольника (для простоты мы можем предположить, что окно просто внутри константы внутри красного прямоугольника). Таким образом, оконная функция выбирает, на какие пиксели вы хотите смотреть, и присваивает относительный вес каждому пикселю. (Наиболее распространенным является окно Гаусса, поскольку оно вращательно-симметрично, эффективно для вычисления и выделения пикселей рядом с центром окна.) Синий прямоугольник смещен на (u, v).
Затем вы вычисляете сумму квадратов разности между частями изображения, помеченными красным и синим, т.е. вычитаете их попиксельно, возводите в квадрат разницу и суммируете результат (предполагая, для простоты, что окно = 1 в области, которую мы ищем) в). Это дает вам одно число для каждого возможного (u, v) -> E (u, v).
Посмотрим, что произойдет, если мы вычислим это для разных значений u / v:
Сначала держите v = 0:
Это не должно вызывать удивления: разница между частями изображения наименьшая, когда смещение (u, v) между ними равно 0. По мере увеличения расстояния между двумя заплатами сумма квадратов разностей также увеличивается.
Сохраняя u = 0:
График выглядит аналогично, но сумма квадратов различий между двумя частями изображения намного меньше, когда вы смещаете синий прямоугольник в направлении края.
Полный график E (u, v) выглядит так:
Сюжет немного похож на «каньон»: разница будет небольшая, если вы сдвинете изображение в направлении каньона. Это потому, что этот патч изображения имеет доминирующую (вертикальную) ориентацию.
Мы можем сделать то же самое для другого патча изображения:
Здесь график E (u, v) выглядит иначе:
Независимо от того, каким образом вы меняете патч, он всегда выглядит иначе.
Таким образом, форма функции E (u, v) говорит нам кое-что о патче изображения
Обычно вы вообще не вычисляете E (u, v). Тебя интересует только его форма в окрестности (u, v) = (0,0). Таким образом, вы просто хотите разложить Тейлора в E (u, v) около (0,0), что полностью описывает его «форму».
Говоря математически, более элегантно разрешить суммирование по всем пикселям. Практически говоря, нет смысла суммировать пиксели, где окно равно 0.
источник