Skip to content

Векторы градиенты изображения

Аббас Гусенов edited this page Jan 10, 2014 · 9 revisions

Векторы-градиенты изображения показывают как оно изменяется:

  • абс. величина градиента - как быстро изменяется изображение;
  • направление градиента - направление в котором изображение изменяется наиболее быстро.

Изображение как земная поверхность, где каждая точка - высота, а не интенсивность. Для любой точки направление градиента будет "в гору". Абс. величина градиента говорит о том как быстро мы наберем высоту двигаясь с очень маленькими шагами в гору.

Т.к. градиент имеет абс. величину и направление, то его можно представить в виде вектора в каждой точке изображения:

\triangledown I=\left(\frac{\partial I}{\partial x},\frac{\partial I}{\partial y}\right).

Для непрерывной функции I(x,y):

\frac{\partial I(x,y)}{\partial x}\approx \lim_{\Delta x\rightarrow 0}\frac{I(x+\Delta x,y)-I(x,y)}{\Delta x}

Частная производная по x определяет как быстро интенсивность изображения меняется при изменении x.

В дискретном случае можно брать разницу только в интервале одного пикселя. Т.е. можно взять разность между I(x,y) и пикселями позади него или после него. Или можно обрабатывать пиксели позади или после I(x,y) симметрично:

\frac{\partial I(x,y)}{\partial x}\approx \frac{I(x+1,y)-I(x-1,y)}{2}.

Еще можно:

\frac{\partial I(x,y)}{\partial y}\approx \frac{I(x,y+1)-I(x,y+1)}{2}.

Используя это можно вычислить градиент изображения.

Но что происходит при движении в других направлениях?

Например, движемся из позиции (x,y) маленькими значениями \Delta в произвольном направлении \Theta, что приводит нас в:

(x+\Delta cos\Theta,y+\Delta sin\Theta).

Если \Delta маленькое то:

I(x+\Delta cos\Theta,y)\approx I(x,y)+\Delta cos\Theta\frac{\partial I(x,y)}{\partial x}.

По мере того как мы маленько продвинулись в направлении x, изменение в интенсивности равно произведению пройденной дистанции на производную от интенсивности по направлению x.

Разложение в ряд Тейлора:

I(x+\Delta cos\Theta,y+\Delta sin\Theta)\approx I(x+\Delta cos\Theta,y)+\Delta sin\Theta\frac{\partial I(x,y)}{\partial y}\approx I(x,y)+\Delta cos\Theta\frac{\partial I(x,y)}{\partial x}+\Delta sin\Theta\frac{\partial I(x,y)}{\partial y}.

Предполагается, что производная от I не сильно изменяется, если мы передвигаемся по изображению на маленькое значение. Можно переписать данную формулу:

\upsilon \equiv (\Delta cos\Theta ,\Delta sin\Theta),

\upsilon - как мы передвигались по изображению (вектор),

I(x+\Delta cos\Theta,y+\Delta sin\Theta)-I(x,y)\approx\left\langle\upsilon,\triangledown I\right\rangle.

Это показывает нам, что изменение в интенсивности когда мы двигаемся на малое значение может быть найдено как скалярное произведение между градиентом и вектором описывающим движение.