- Inom matematiken är konvolution en operation som utförs på två funktioner (f och g) för att producera en tredje funktion. Konvolution är en av de viktigaste operationerna inom signal- och bildbehandling. Den kan fungera i 1D (t.ex. talbehandling), 2D (t.ex. bildbehandling) eller 3D (videobearbetning).
- I bildbehandling är konvolution en process för att omvandla en bild genom att tillämpa en kärna över varje pixel och dess lokala grannar över hela bilden. Kärnan är en matris av värden vars storlek och värden bestämmer omvandlingseffekten av konvolutionsprocessen.
- Konvolutionsprocessen omfattar dessa steg. (1)Den placerar Kernelmatrisen över varje pixel i bilden (vilket säkerställer att hela Kernel finns inom bilden), multiplicerar varje värde i Kernel med motsvarande pixel som den är över. (2)Summerar sedan de resulterande multiplicerade värdena och returnerar det resulterande värdet som det nya värdet för centrumpixeln. (3) Denna process upprepas över hela bilden.
- Som vi ser på bilden konvoluteras en 3×3 Kernel över en 7×7 källbild. Centrumelementet i kärnan placeras över källpixeln. Källpixeln ersätts sedan med en viktad summa av sig själv och omgivande pixlar. Utgången placeras i destinationspixelns värde. I det här exemplet har vi vid den första positionen 0 i källpixeln och 4 i kärnan. 4×0 är 0. När vi sedan flyttar till nästa pixel har vi 0 och 0 på båda ställena. 0x0 är 0. Sedan är återigen 0x0 0. Nästa i mitten finns det 1 i källbilden och 0 i motsvarande position i kärnan. 0x1 är 0. Sedan återigen 0x1 är 0. Sedan är 0x0 0 och 0x1 är 0 och vid den sista positionen är det -4×2 vilket är -8. Genom att summera alla dessa resultat får vi -8 som svar, så resultatet av denna konvolutionsoperation är -8. Detta resultat uppdateras i destinationsbilden.
- Resultatet av konvolutionen förändras med de förändrade kärnvärdena. Till exempel kommer en Identity Kernel som visas nedan, när den tillämpas på en bild genom konvolution, inte att ha någon effekt på den resulterande bilden. Varje pixel kommer att behålla sitt ursprungliga värde som visas i följande figur.
En skärpningskärna ser ut så här när den tillämpas på en bild genom konvolution, kommer att ha en skärpningseffekt på den resulterande bilden. De exakta värdena kan anpassas för olika nivåer av skärpa som visas i följande figur.