Как найти матрицу свертки? - PullRequest
0 голосов
/ 09 ноября 2018

A - это ядро, а B - это изображение. Как вы находите матрицу свертки из этого уравнения?

A (x, y) = B (x, y) + 4B (x + 1, y-1) + 2B (x, y + 1) + 5B (x-1, y)

А направления как ниже

 (x-1,y-1)  (x-1,y)  (x-1,y+1)
 (x,y-1)    (x,y)    (x,y+1)
 (x+1,y-1)  (x+1,y)    (x+1,y+1)

матрица ниже?

 0 5 0
 0 1 2
 4 0 0

1 Ответ

0 голосов
/ 09 ноября 2018

Это зависит от того, как вы определяете свои пиксельные координаты. Если источник находится справа (!) Внизу изображения, x идет снизу вверх и y справа налево, ваша матрица верна. Однако это довольно редкий выбор.

Если ваше происхождение находится внизу слева, x идет слева направо, а y - снизу вверх, матрица будет иметь вид:

4 0 0
0 1 5
0 2 0

Обратите внимание, что направления инвертированы: например, матричный коэффициент справа от центра применяется к пицелю слева.

Кстати, неправильно, что A является ядром для произвольного B. Это относится только к B[0,0] == 1 и B[x,y] == 0 для всех других значений x и y.

Обновление: Таким образом, ваш x работает сверху вниз, а ваш y слева направо. Тогда матрица свертки имеет вид:

0 0 4
2 1 0
0 5 0    
...