feConvolveMatrix filter

parameters:

order: two positives integer for x and y
kernelMatrix: order_x*order_y values to compute pixel
targetX, targetY: positives integer to center effect
preserveAlpha: true  false
bias: value to add
divisor: integer, by default sum of terms of kernelMatrix
edgeMode: duplicate  wrap none
in: picture to modify

Tool: you can modify x_order, y_order, kernelMatrix an see effect on picture of your choice.
Example:

Example of code:

<defs>
<filter id="MyFilter" filterUnits="userSpaceOnUse" x="0" y="0" width="400" height="400">
<feImage xlink:href='#MyImage' result='image1'/>
<feConvolveMatrix in='image1' order="3 3" targetX="0" targetY="0" edgeMode="duplicate" kernelMatrix="1 2 3 2 3 4 3 4 5" preserveAlpha='false'/>
</filter>
<image id="MyImage" width='400' height='400' xlink:href='puzzle.jpg'/>
</defs>
<use filter="url(#MyFilter)" x='0' y='0'/>