check_difference — Pixelweises Vergleichen zweier Bilder.
check_difference(Image, Pattern : Selected : Mode, DiffLowerBound, DiffUpperBound, GrayOffset, AddRow, AddCol : )
check_difference wählt aus dem Eingabebild die
Bildpunkte () aus,
deren Grauwertabweichung von den entsprechenden Pixel in
Pattern abhängig vom Parameter Mode innerhalb bzw.
außerhalb des vorgegebenen Werteintervalls
liegt. Sei der
Grauwert aus Pattern, der gegenüber um den
Vektor verschoben
ist.
Dann werden im Modus 'diff_inside' die Pixel selektiert mit und im Modus 'diff_outside' die mit g_o - g_p - GrayOffset < DiffLowerBound oder g_o - g_p - GrayOffset > DiffUpperBound
Dieser Test wird für alle Bildpunkte aus dem Definitionsbereich von
Image, geschnitten mit dem verschobenen
Definitionsbereich von Pattern, durchgeführt. Alle
Punkte, die die obige Bedingung erfüllen, werden in der
Ausgaberegion gespeichert. Die beiden Bilder können
unterschiedliche Größe haben. Typischerweise ist
Pattern kleiner als Image.
Image (input_object) singlechannelimage(-array) → object (byte)
Eingabebild.
Pattern (input_object) singlechannelimage(-array) → object (byte)
Vergleichsbild.
Selected (output_object) region(-array) → object
Punkte, in denen sich die Bilder ähneln/unterscheiden.
Mode (input_control) string → (string)
Modus: bestimme ähnliche oder verschiedene Pixel.
Defaultwert: 'diff_outside'
Wertevorschläge: 'diff_inside', 'diff_outside'
DiffLowerBound (input_control) number → (integer)
Untere Grenze der erlaubten Grauwertdifferenz.
Defaultwert: -5
Wertevorschläge: 0, -1, -2, -3, -5, -7, -10, -12, -15, -17, -20, -25, -30
Typischer Wertebereich: -255
≤
DiffLowerBound
≤
255 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 2
Restriktion: -255 <= DiffLowerBound && DiffLowerBound <= 255
DiffUpperBound (input_control) number → (integer)
Obere Grenze der erlaubten Grauwertdifferenz.
Defaultwert: 5
Wertevorschläge: 0, 1, 2, 3, 5, 7, 10, 12, 15, 17, 20, 25, 30
Typischer Wertebereich: -255
≤
DiffUpperBound
≤
255 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 2
Restriktion: -255 <= DiffUpperBound && DiffUpperBound <= 255
GrayOffset (input_control) number → (integer)
Korrekturgrauwert, der im Eingabebild abgezogen wird.
Defaultwert: 0
Wertevorschläge: -30, -25, -20, -17, -15, -12, -10, -7, -5, -3, -2, -1, 0, 1, 2, 3, 5, 7, 10, 12, 15, 17, 20, 25, 30
Typischer Wertebereich: -255
≤
GrayOffset
≤
255 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 2
Restriktion: -255 <= GrayOffset && GrayOffset <= 255
AddRow (input_control) point.y → (integer)
Zeilenkoordinate, um die das Vergleichsbild verschoben wird.
Defaultwert: 0
Wertevorschläge: -200, -100, -20, -10, 0, 10, 20, 100, 200
Typischer Wertebereich: -32000
≤
AddRow
≤
32000 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
AddCol (input_control) point.x → (integer)
Spaltenkoordinate, um die das Vergleichsbild verschoben wird.
Defaultwert: 0
Wertevorschläge: -200, -100, -20, -10, 0, 10, 20, 100, 200
Typischer Wertebereich: -32000
≤
AddCol
≤
32000 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Sei die Anzahl der gültigen Pixel, dann ist die Laufzeitkomplexität: .
check_difference liefert den Wert TRUE, falls die
Parameter korrekt sind. Für das Verhalten bzgl. der Eingabebilder
und Ausgaberegionen sind die Flags 'no_object_result',
'empty_region_result' und 'store_empty_region'
einstellbar (siehe set_system). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
connection,
select_shape,
reduce_domain,
select_gray,
rank_region,
dilation1,
opening
Foundation