- I matematikken er konvolution en operation, der udføres på to funktioner (f og g) for at producere en tredje funktion. Konvolution er en af de vigtigste operationer inden for signal- og billedbehandling. Den kan fungere i 1D (f.eks. talebehandling), 2D (f.eks. billedbehandling) eller 3D (videobearbejdning).
- I billedbehandling er konvolution en proces, hvor et billede transformeres ved at anvende en kerne over hver pixel og dens lokale naboer i hele billedet. Kernen er en matrix af værdier, hvis størrelse og værdier bestemmer transformationseffekten af konvolutionsprocessen.
- Konvolutionsprocessen omfatter disse trin. (1)Den placerer Kernel-matrixen over hver pixel i billedet (hvilket sikrer, at hele kernen er inden for billedet), multiplicerer hver værdi af kernen med den tilsvarende pixel, den er over. (2)Derefter summeres de resulterende multiplicerede værdier, og den resulterende værdi returneres som den nye værdi for den centrale pixel. (3) Denne proces gentages over hele billedet.
- Som vi ser på billedet, er en 3×3 Kernel konvoluteret over et 7×7 kildebillede. Centerelementet i kernen er placeret over kildepixlen. Kildepixlen erstattes derefter med en vægtet sum af den selv og de omkringliggende pixels. Outputtet placeres i destinationspixelværdien. I dette eksempel har vi i den første position 0 i kildepixel og 4 i kernen. 4×0 er 0, og ved at gå til den næste pixel har vi 0 og 0 begge steder. 0x0 er 0. Derefter er 0x0 igen 0. Dernæst er der i midten 1 i kildebilledet og 0 i den tilsvarende position i kernen. 0x1 er 0. Så igen 0x1 er 0. Så er 0x0 0 og 0x1 er 0, og på den sidste position er det -4×2, hvilket er -8. Når vi nu summerer alle disse resultater, får vi -8 som svar, så resultatet af denne konvolutionsoperation er -8. Dette resultat opdateres i destinationsbilledet.
- Udgangen af konvolutionsprocessen ændres med de skiftende kerneværdier. For eksempel vil en Identity Kernel, der er vist nedenfor, når den anvendes på et billede gennem konvolution, ikke have nogen effekt på det resulterende billede. Hver pixel vil bevare sin oprindelige værdi som vist i følgende figur.
En skarphedskernel som denne, når den anvendes på et billede gennem konvolution, vil have en billedskærpende effekt på det resulterende billede. De præcise værdier kan tilpasses til forskellige niveauer af skarphed, som vist i følgende figur.