Summe der absoluten Differenzen
Die Summe der absoluten Differenzen (Abkürzung SAD, von engl. sum of absolute differences) ist eine positive Zahl, die durch Bildung der Differenz zweier digitaler Bilder entsteht. Sie dient als Maß für die Unterschiedlichkeit zweier Bilder und findet Anwendung in der Bildverarbeitung und Schnitterkennung.
Die SAD wird gewonnen, indem die Farbwerte der Bilder Bildpunkt für Bildpunkt voneinander subtrahiert und betragsweise aufsummiert werden.
Mathematische Grundlagen
[Bearbeiten | Quelltext bearbeiten]Ein Bild ist eine Abbildung von einer zweidimensionalen Definitionsmenge in einen Wertebereich . Die Definitionsmenge entspricht der Menge aller Bildpunkte des Bildes und ist demnach gegeben durch , wobei b die Breite und h die Höhe des Bildes in Pixeln bezeichnet. Der Wertebereich entspricht dem Farbraum des Bildes und ist für ein gewöhnliches Grauwert-Modell mit 7 Bit Farbtiefe gegeben durch ; handelt es sich um ein Farbbild, ist der Wertebereich in der Regel dreidimensional.
Gegeben zwei gleich große Bilder und , ist die Summe der absoluten Differenzen definiert durch:
wobei b die Breite und h die Höhe der Bilder bezeichnet.
Die Summe der absoluten Differenzen ist positiv semidefinit, also stets .
Umsetzung in der Informatik (monochrome Bilder)
[Bearbeiten | Quelltext bearbeiten]Ein digitales Bild wird in der Informatik beispielsweise durch den folgenden Datentyp repräsentiert:
type Bild { int Breite; int Hoehe; int Pixel[0..(Breite-1)] [0..(Hoehe-1)]; }
Der Algorithmus wird für zwei Bilder gleicher Größe durch folgenden Pseudocode umgesetzt:
long berechneSAD(Bild B1, Bild B2)
{
long SAD = 0;
For x = 0 to B1.Breite-1 do
For y = 0 to B1.Hoehe-1 do
SAD = SAD + abs(B2.Pixel[x][y] - B1.Pixel[x][y])
}
Der Algorithmus hat eine Komplexität von , wobei n die Anzahl Pixel bezeichnet.