Kursinnehåll
Grundläggande Datorseende
Grundläggande Datorseende
Linjär Algebra för Bildmanipulation
Linjär algebra spelar en avgörande roll inom bildbehandling. Eftersom digitala bilder representeras som matriser av pixelvärden, kan matematiska operationer som transformationer, skalning och rotationer utföras med hjälp av matrismultiplikationer. Här går vi igenom de grundläggande linjäralgebrakoncepten som används inom datorseende.
Bildrepresentation som matriser
En digital bild är i grunden ett rutnät av pixlar, där varje pixel har ett intensitetsvärde. För gråskalebilder är detta en 2D-matris, där varje post motsvarar en ljusstyrkenivå (0 för svart, 255 för vitt). Till exempel kan en enkel 6×6 gråskalebild se ut så här:
Färgbilder å andra sidan är 3D-matriser (även kallade tensorer), med separata lager för Rött, Grönt och Blått (RGB).
Gråskalebilder har formen (60, 60), vilket innebär att de består av 60 rader och 60 kolumner, där varje pixel representerar ett enda intensitetsvärde – det finns endast en färgkanal. RGB-bilder har däremot formen (60, 60, 3), vilket anger samma rumsliga upplösning (60 rader och 60 kolumner), men med en extra dimension för färg: varje pixel innehåller tre värden som motsvarar de röda, gröna och blå kanalerna som tillsammans definierar den fullständiga färgen på den punkten.
Linjära algebraiska transformationer för bildbehandling
Flera bildmanipulationer bygger på matrismatematik, vilket gör linjär algebra till en central del av datorseende. Här går vi igenom de vanligaste transformationerna.
Bildskalning (ändring av storlek)
Skalning ökar eller minskar storleken på en bild. Detta uppnås genom att multiplicera bildmatrisen med en skalningsmatris:
där sx och sy är skalningsfaktorer för bredd respektive höjd. Exempel: Om vi vill fördubbla storleken på en bild använder vi:
Multiplicera denna matris med varje pixels koordinater skalar upp bilden.
Bildrotation
För att rotera en bild med en vinkel
Till exempel innebär att rotera en bild 90 grader medurs att använda:
θ = 90°
Att tillämpa denna transformation flyttar varje pixel till en ny position, vilket effektivt roterar bilden.
Skjuvning (Förvrängning av en bild)
Skjuvning förvränger en bild genom att förskjuta dess rader eller kolumner. Transformationsmatrisen för skjuvning är:
där
Varför linjär algebra är viktig inom datorseende
Linjär algebra utgör grunden för många bildbehandlingsuppgifter, inklusive:
Objektidentifiering (avgränsningsrutor bygger på transformationer);
Ansiktsigenkänning (egenvektorer och PCA för funktionsutvinning);
Bildförbättring (filtrering använder matris-konvolutioner);
Neurala nätverk (vikter lagras som matriser).
Genom att förstå dessa grundläggande operationer kan vi effektivt manipulera bilder och bygga mer avancerade datorseendetillämpningar.
Tack för dina kommentarer!