2016-01-04 2 views
0

Имеется фрагмент изображения A = [7 8 4; 8 6 3; 8 5 1], покажите результат применения другого фильтра.Применить фильтр к фрагменту изображения

  1. применить 3 * 3 означает фильтр
  2. применить лапласиана фильтр 3 * 3
  3. применить 3 * 3 Собела фильтра измерения градиента в горизонтальном направлении

И ниже мой вопрос :

  1. Сумма 9 пикселей равна 50, 50/9 = 5, поэтому результат центрального пикселя должен быть 5. Но как насчет пикселей вокруг центра?
  2. Согласно функции, легко получить значение центрального пикселя должно быть 8 + 5 + 8 + 3 - 4 * 6 = 0, но как насчет пикселей вокруг центра? Могу ли я просто скопировать исходное значение, потому что я думаю, что это всего лишь фрагмент изображения.
  3. По операторам Sobel, Gx = [-1 0 1; -2 0 2; -1 0 1], чтобы вычислить результат, мне нужно вычислить Gx * A. Но я смутил умножение. Это традиционное умножение матрицы? Я не знаю, как выполнить этот шаг.
+1

В этих методах нет «вокруг центра». Они вычисляют значение для пикселя в определенном месте, с границей вокруг него. То есть только для центрального пикселя. Таким образом, нецентральные пиксели будут вычисляться более поздним (или более ранним) вычислением, где этот конкретный пиксель является центром вычисления. – Adriaan

ответ

1

Все это свертки изображения с заданным фильтром. Все ваши вопросы касаются обработки краев фрагмента изображения при выполнении этой свертки.

Относится к MATLAB специально (как предлагает ваш тег), если вы используете встроенную функцию conv2(), MATLAB обрабатывает любую область, где изображение и фильтр не перекрываются как 0. Таким образом, ваш фрагмент изображения дополняется 0.

Смежные вопросы