1) Поскольку «белая часть» - это не вершина горы, она становится синей -> белой -> красной, как вы можете видеть на панели справа. Таким образом, синий цвет - это долина, а красный - горы, а стрелки указывают, где он находится в гору.
2) На краях карты нет градиента, потому что градиент рассчитывается относительно его полной окрестности. Градиент - это мера того, насколько поверхность меняется относительно всего, что вокруг нее , то есть оно указывает на самый крутой подъем по отношению ко всему соседству. Если некоторые из всего вокруг отсутствуют, как, например, по краям, вы не можете рассчитать это.
Более математически, ваша функция по краям не дифференцируема, поэтому вы не можете вычислить градиент.
РЕДАКТИРОВАТЬ: Давайте углубимся:
Градиент - это не просто разница между двумя точками. Это мера того, сколько поверхности находится в этом пространстве локально. Давайте рассмотрим пример пять на пять. Мы рассчитаем градиент для средней точки. Он указывает в самом крутом направлении, в котором, если бы вы шли по холму, вы поднялись бы на самый высокий уровень, сделав только один шаг. Откуда ты знаешь это направление, ты смотришь на все направления - скажем, 1 °, 2 °, .. 360 ° - (здесь я режу некоторые математические углы, но это не важно), сделай шаг, посмотри как На большую высоту вы выиграли, а затем вы возвращаетесь в исходное положение. Направление, которое привело вас к самой высокой точке, является направлением градиента. Сколько высоты вы выиграли, определяется размером градиента (какова длина стрелки).
Теперь предположим, что вы стоите сверху (это верхний левый пиксель в 2D-виде) и хотите сделать шаг в каждом направлении. Вниз налево, без проблем, вниз вправо, без проблем, но вверх вправо и вверх влево? Там нет пикселя там ??? Что мне теперь делать? Вот почему нет градиента.
Допустим, мы меняем ландшафт с левого изображения на ландшафт на правом изображении. Затем градиент будет указывать в направлении между - теперь двумя - самыми высокими пикселями.