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. Die Pixel in Pattern werden um
gegenüber
Image verschoben.
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.
Default: 'diff_outside'
Wertevorschläge: 'diff_inside', 'diff_outside'
DiffLowerBound (input_control) number → (integer)
Untere Grenze der erlaubten Grauwertdifferenz.
Default: -5
Wertevorschläge: 0, -1, -2, -3, -5, -7, -10, -12, -15, -17, -20, -25, -30
Wertebereich:
-255
≤
DiffLowerBound
≤
255 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 2
DiffUpperBound (input_control) number → (integer)
Obere Grenze der erlaubten Grauwertdifferenz.
Default: 5
Wertevorschläge: 0, 1, 2, 3, 5, 7, 10, 12, 15, 17, 20, 25, 30
Wertebereich:
-255
≤
DiffUpperBound
≤
255 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 2
GrayOffset (input_control) number → (integer)
Korrekturgrauwert, der im Eingabebild abgezogen wird.
Default: 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
Wertebereich:
-255
≤
GrayOffset
≤
255 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 2
AddRow (input_control) point.y → (integer)
Zeilenkoordinate, um die das Vergleichsbild verschoben wird.
Default: 0
Wertevorschläge: -200, -100, -20, -10, 0, 10, 20, 100, 200
Wertebereich:
-32000
≤
AddRow
≤
32000 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
AddCol (input_control) point.x → (integer)
Spaltenkoordinate, um die das Vergleichsbild verschoben wird.
Default: 0
Wertevorschläge: -200, -100, -20, -10, 0, 10, 20, 100, 200
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 2 (
H_MSG_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