Linear seperable Stencil, Convolution Mask?
Ich habe die 1D convolution Mask : 1/16 * (1, 4, 6, 4, 1)
Ich soll nun einen 2D linear seperability stencil angeben der aus der 1D Maske entsteht wenn man sie in beide Richtungen anwenden würde.
Ich weiß wie ich das erstellen würde nämlich so:
1/256 *
(1 * 1 , 1*4, 1*6, 1*4, 1*1
2*1 , 4*4, 4*6, 4*4, 4*1,
6*1, 6*4, 6*6, 6*4, 6*1,
1 * 1 , 1*4, 1*6, 1*4, 1*1
2*1 , 4*4, 4*6, 4*4, 4*1)
Wie kann man aber erklären und auch beweisen das das gleiche raus kommt wenn man diesen 2D Filter anwendet oder den 1D Filter in beide Richtungen ?
1 Antwort
![](https://images.gutefrage.net/media/default/user/5_nmmslarge.png?v=1438863662000)
Du erhälst y0_0 aus x0_0 bis x0_4;
Du erhälst z0_0 aus y0_0 bis y4_0;
Verallgemeinert:
yi_j = xi_(j) bis xi_(j + 4);
zi_j = y(i)_j bis y(4)_j;
Damit stellst du eine Gleichung auf und erhälst das Ergebnis für zweifache Anwendung des 1D-Filters.
Für den 2D-Filter stellst du eine bergleichbare Formel auf (du berechnest direkt zi_j aus x(i)_(j) bis x(i + 4)_(j + 4);) und beweist die Äquivalenz für beliebige zi_j;
(Oder so ähnlich müsste das gehen)