There are 3 main properties of convolution in every image processing lecture notes I read :

  1. Commutativity: $f\star h = h\star f$
  2. Associativity: $f\star (h_1\star h_2) = (f\star h_1)\star h_2$
  3. Distributivity: $f\star (h_1+h_2) = f\star h_1 + f\star h_2$

I'm looking for examples of when these are used (in image processing preferably).

From my research:

  1. A system with unit sample response $h$ and input $f$ behave the same way as a system with unit sample response $f$ and input $h$.

$\Rightarrow$ We can interchange filter and image when computing convolution.

  1. If two systems with unit sample responses $h_1$ and $h_2$ are connected in cascade an equivalent system is one that has an unit sample response equal to the convolution of $h_1$ and $h_2$

$\Rightarrow$ We can convolve our different filters instead of applying them consecutively. It can save time if some filters are often used together.

  1. If two systems with unit sample responses $h_1$ and $h_2$ are connected in parallel an equivalent system is one that has an unit sample response equal to the sum of $h_1$ and $h_2$

This is where I'm unsure. In which instances we would frequently have multiple systems connected in parallel ?

Certainly in ML while computing some CNN.

Also learned about some sharpening method using blur: $$ f' = f + c \cdot (f - f * h_{\text{gaussian kernel}}) $$

I can't think of any more common examples so I would be glad if you could enlighten me with some and/or correct my eventual mistakes.

Thank you very much!

  • 1
    $\begingroup$ I'm sure people here can give you plenty examples, but what you're really asking here would fit much better in a discussion site than a site meant for decidably correct answers... $\endgroup$ Jan 8, 2021 at 22:21
  • $\begingroup$ @MarcusMüller Probably... It's certainly an uncommon question, don't know where I should've ask. If it really doesn't fit or I'm the only one interested I will gladly remove it myself (when I've figured out how to) $\endgroup$
    – I am GNU
    Jan 8, 2021 at 22:31
  • $\begingroup$ I don't think "fits elsewhere" is a criterion for "fits here" ;) But, to help you out: Pick any algorithm that depends on a convolution, and read its mathematical introduction. I can't imagine any sensible thing that wouldn't use any of these properties. It's really the most basic form of math to signal processing. What you're asking is pretty similar to "are there any computer vision algorithms that use the same properties of multiplication", and I think you'll notice that yes, every time someone pulls a factor out of a sum, it uses at least two of these... and we literally do everywhere. $\endgroup$ Jan 9, 2021 at 10:17
  • $\begingroup$ @MarcusMüller ok I will try to do so, thank you! $\endgroup$
    – I am GNU
    Jan 9, 2021 at 12:34

1 Answer 1


For part 3, there is an old trick dating from the time where computing was expensive. If you have a smoothed version $I_\sigma$ of a picture $I$, you can get a crude yet simple approximation of a Laplacian from $I -I_\sigma$, illustrated here with the Gaussian:

gaussian minus Dirac is Laplacian

It is indeed generalized in many unsharp filters, with other weights, or in multirate/multiscale (pyramid) operations.

For part 2, you can convolve twice by Gaussians with a single convolution of a single Gaussian. Yet the most classical (yet rarely understood) is that smoothing first then differentiating is the same as differentiating then smoothing, see for instance Laplacian of Gaussian operator. Many people believe that smoothing first reduces noise. However, one can combine derivatives and smoothing, and save a couple of operations, and even design innovative gradients:

derivative and smoothing

For part 1, this is used a lot in proofs. This is something one uses implicitly very often, for instance in cases when you have an image that you need to convolve a lot of times (scale-space filtering for instance) vs a lot of images you convolve when a filter known a priori.

Related question:


Not the answer you're looking for? Browse other questions tagged or ask your own question.