La convolution est une corrélation avec le filtre tourné à 180 degrés. Cela ne fait aucune différence si le filtre est symétrique, comme un gaussien ou un laplacien. Mais cela fait toute une différence, lorsque le filtre n'est pas symétrique, comme un dérivé.
La raison pour laquelle nous avons besoin d'une convolution est qu'elle est associative, alors que la corrélation, en général, ne l'est pas. Pour voir pourquoi cela est vrai, rappelez-vous que la convolution est une multiplication dans le domaine fréquentiel, qui est évidemment associative. En revanche, la corrélation dans le domaine fréquentiel est la multiplication par le conjugué complexe, qui n'est pas associatif.
L'associativité de la convolution est ce qui vous permet de "pré-convoluer" les filtres, de sorte que vous n'avez besoin de convoluer l'image qu'avec un seul filtre. Par exemple, disons que vous avez une image , que vous devez convoluer avec puis avec . . Cela signifie que vous pouvez d'abord convoluer et dans un seul filtre, puis convoluer avec lui. Ceci est utile si vous devez convoluer de nombreuses images avec et . Vous pouvez pré-calculer , puis réutiliser plusieurs fois.g h f ∗ g ∗ h = f ∗ ( g ∗ h ) g h f g h k = g ∗ h kFghF∗ g∗ h = f∗ ( g∗ h )ghFghk=g∗hk
Donc, si vous faites une correspondance de modèle , c'est-à-dire que vous recherchez un seul modèle, la corrélation est suffisante. Mais si vous devez utiliser plusieurs filtres successivement et que vous devez effectuer cette opération sur plusieurs images, il est judicieux de convoquer les plusieurs filtres en un seul filtre à l'avance.