test_equal_obj
— Vergleich von Bildobjekten auf Gleichheit.
test_equal_obj
vergleicht die Regionen und Grauwertkomponenten
aller Objekte der beiden Eingabeparameter.
Verglichen wird das n-te Objekt in Objects1
mit dem n-ten
Objekt in Objects2
(für alle n). Falls alle entsprechenden
Regionen gleich sind und auch die Anzahl der Regionen identisch ist,
erhält IsEqual
den Wert TRUE, ansonsten FALSE.
Die in HALCON verfügbaren ikonischen Objekte werden bei der Einleitung zu Kapitel Objekt vorgestellt.
Bildmatrizen und XLDs werden nicht auf ihren Inhalt verglichen. Zwei
Bilder resp. XLDs sind daher „gleich“, wenn sie an der gleichen Stelle
im Speicher stehen.
Im Gegensatz dazu wird bei Regionen, die nicht an der gleichen Stelle
im Speicher stehen, der tatsächliche Inhalt verglichen.
Falls die Eingabeparameter leer sind und das Verhalten mit
set_system(::'no_object_result','true':)
gesetzt wurde, wird
IsEqual
auf TRUE gesetzt, da alle Eingaben (= leere Menge)
gleich sind.
Objects1
(input_object) object-array →
object
Testobjekte.
Objects2
(input_object) object-array →
object
Vergleichsobjekte.
IsEqual
(output_control) integer →
(integer)
boolscher Ergebniswert.
Sei F die Fläche einer Region, dann beträgt die Laufzeitkomplexität bei Ergebnis TRUE O(1) oder O(sqrt(F)) und bei Ergebnis FALSE O(sqrt(F)).
test_equal_obj
liefert den Wert 2 (H_MSG_TRUE), falls die Parameter
korrekt sind. Das Verhalten bei leerer Eingabe (keine Eingaberegionen
vorhanden) lässt sich mittels
set_system(::'no_object_result',<Result>:)
festlegen.
Unterscheidet sich die Anzahl der Objekte, wird eine
Fehlerbehandlung durchgeführt.
Ansonsten liefert test_equal_obj
den Wert 2 (H_MSG_TRUE)
compare_obj
,
test_equal_region
Foundation