3
$\begingroup$

In image processing the differentiation and convolution are the terms that are used interchangeably.

What is the difference between applying convolution and differentiation over the image?

How we perform the differentiation over the image(Since in order to differentiate we need to represent it as equation that is differentiable How we do it?) ?

$\endgroup$
3
  • 1
    $\begingroup$ The differentiation that is referred is nomerical. Numerical differntiation can be implemented with different coefficients. Any chosen set of coefficients can be imemented as filter, used with convolution $\endgroup$ Commented Feb 29, 2020 at 20:14
  • 2
    $\begingroup$ Where did you see someone saying they are the same? Finite Differences, which can be seen as a discrete approximation to the derivative can be applied using Convolution. But certainly they are not the same. $\endgroup$
    – Royi
    Commented Mar 1, 2020 at 5:52
  • $\begingroup$ Images are discrete, so discrete approximation is used to approximate the differentiation. The expression can then, after analysis, be expressed with a certain matrix, and the approximated differentiation process can be achieved by convolution with that matrix. $\endgroup$
    – Chris Tang
    Commented May 2, 2020 at 3:12

2 Answers 2

1
$\begingroup$

In this context, convolution refers to the operation of LTI filtering performed on the image by the filter impulse response. Filtering can have many purposes such as blurring, sharpening, noise reduction etc.

Certain applications requires that you compute an approximation to the derivative of the image data. This can be accomplished by filering the image with a specific filter kernel (impulse response) that's some sort of a high pass characteristics.

Therefore, computing the (approximate) derivative of an image can be accomplished by LTI filtering with a highpass impulse response, which refers to a convolution operation. This is the connection in between.

$\endgroup$
0
$\begingroup$

Generally, differentiation can be seen a a special case of convolution.

In sampled images, and discrete signals in general, differentiation is made in a discrete manner: it becomes a discrete approximation of what you'd get if the images were continuous. The classical sampling context is linear, convolution reflects linearity, and a lot of classical discrete derivatives are linear combinations of pixel values. So, those derivatives can be implemented as convolutions, and convolutions commute.

In other words: as derivation may emphases noise, some believe that one should filter or smooth data before applying a derivative kernel. But with linear filters and derivatives, you can use any order, and you can even combine then into a single "smoothed derivative" operator.

However, remember that image processing sometimes uses non-linear derivatives or gradient estimators. In those cases, they don't communte with convoluton anymore.

$\endgroup$
2
  • 1
    $\begingroup$ In other words: convolution is a general operation that implements linear time-invariant filtering: any linear time-invariant filter can be reduced to a convolution. Differentiation is a specific linear time-invariant filtering operation, so it can, of course, be implemented using convolution. $\endgroup$
    – TimWescott
    Commented Mar 1, 2020 at 15:30
  • $\begingroup$ Sounds way clearer than that I wrote $\endgroup$ Commented Mar 1, 2020 at 16:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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