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 (g_{o} = g_{Image
}) aus, deren Grauwertabweichung
von den entsprechenden Pixel in Pattern
abhängig vom
Parameter Mode
innerhalb bzw.
außerhalb des vorgegebenen Werteintervalls
[DiffLowerBound
,DiffUpperBound
]
liegt. Sei g_{p} der
Grauwert aus Pattern
, der gegenüber g_{o} um den
Vektor (AddRow
,AddCol
) verschoben ist.
Dann werden im Modus 'diff_inside' die Pixel g_{o} selektiert mit und im Modus 'diff_outside' die g_{o} 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 A die Anzahl der gültigen Pixel, dann ist die Laufzeitkomplexität: O(A).
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