2
$\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$
  • 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$ – Gideon Genadi Kogan Feb 29 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 Mar 1 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 May 2 at 3:12
0
$\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.

| improve this answer | |
$\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.

| improve this answer | |
$\endgroup$
  • 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 Mar 1 at 15:30
  • $\begingroup$ Sounds way clearer than that I wrote $\endgroup$ – Laurent Duval Mar 1 at 16:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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