# SortBlobs

SortBlobs wird verwendet, um die in einer Blobs-Datenstruktur referenzierten Blobs im Verhältnis zu einer Vorrichtung zu sortieren.

## SortBlobs – Übersicht

Durch Errechnen der Position des Bereichsmittelpunkts (des Zentroids) vom Blob im Verhältnis zum angegebenen Vorrichtungskoordinatensystems des Bilds, sortiert SortBlobs die referenzierten Blobs anhand einer ihrer Messeigenschaften, wie z. B. der Entfernung des Blobs entlang der x- oder y-Achse, vom Ursprung der Vorrichtung oder eines Rasters, oder anhand des Winkels oder des Winkelabstands vom Blob.

Jeder Blob in der referenzierten Blobs-Datenstruktur wird untersucht und abhängig von der Einstellung des Parameters Sortieren nach wird der Blob identifiziert und seine Position durch Messen des Abstands des Blobs oder der Winkelbeziehung zu einer festen Stelle berechnet.

Sobald „SortBlobs“ die referenzierten Blobs sortiert hat, werden eine neue Blobs-Datenstruktur und die zugehörige Ergebnistabelle automatisch in die Tabelle eingefügt. Die Ergebnistabelle ist in absteigender Reihenfolge nach der Nähe der Blobs zur ausgewählten Vorrichtung sortiert (der am nächsten liegende Blob wird zuerst aufgeführt, der zweitnächste als zweiter, usw.)

„SortBlobs“ ist eine sehr hilfreiche Funktion in Fällen, in denen es mehrere Blobs gibt und die Position dieser Blobs im Vergleich zu anderen Blobs ermittelt werden soll.

## SortBlobs – Eingaben

Parameter | Beschreibung
Blobs | Dieser Parameter verwendet Zellreferenzen auf eine Tabellenzelle, die die zu sortierende Blobs-Datenstruktur enthält.
Zu sort. Anzahl | Legt die maximale Anzahl der zurückzugebenden Blobs fest (1 bis 4096; Standard = 3). Hinweis: Wenn der Wert dieses Parameters größer als Null ist, fügt „SortBlobs“ automatisch eine Ergebnistabelle mit maximal 10 Einträgen ein, die den ersten 10 Blobs in der Blobs-Datenstruktur entsprechen. Möchten Sie mehr Einträge anzeigen lassen, können Sie die Tabelle durch kopieren der letzten Zeile und das Einfügen weiterer Zeilen am Ende erweitern. Vergewissern Sie sich, dass der Index der neu eingefügten Zeilen inkrementiert wird, so dass der korrekte Blob indiziert wird.
Sortieren nach | Gibt an, wie die referenzierten Blobs gemessen und sortiert werden sollen.
0 = Y (Standard) | Sortierung nach dem Abstand entlang der y-Koordinate der Vorrichtung, von klein nach groß.
1 = X | Sortierung nach dem Abstand entlang der x-Koordinate der Vorrichtung, von klein nach groß.
2 = Winkel | Sortierung nach dem Winkel (0 bis 360 Grad), gemessen gegen den Uhrzeigersinn von der y-Achse des Koordinatensystems der Vorrichtung zum Liniensegment, definiert durch den Schwerpunkt des Blobs (Massenmittelpunkt) und den Vorrichtungsursprung, vom nächsten zum entferntesten, in absteigender Reihenfolge.
3 = Winkelabstand | Nach Absolutwert des Winkels sortieren (-180 bis 180 Grad), gemessen von der x-Achse des Vorrichtung-Koordinatensystems bis zur Strecke definiert durch das Zentroid (den Flächenmittelpunkt) des Blobs und den Ursprung der Vorrichtung, vom nächsten bis zum weitesten, in absteigender Reihenfolge.
4 = Abstand | Nach Abstand vom Ursprung der Vorrichtung bis zum Flächenmittelpunkt des Blobs sortieren, vom nächsten bis zum längsten, in absteigender Reihenfolge.
5 = Gitter Y | Sortierung nach dem Abstand zuerst entlang der y-Koordinate der Vorrichtung und dann entlang der x-Koordinate, vom nächsten bis zum entferntesten, in absteigender Reihenfolge. Hinweis: „SortBlobs“ gibt #ERR zurück, wenn Gitter Y ausgewählt ist und die Funktion auf ein Bild verweist, das auf Weltkoordinatenwerte kalibriert wurde, z. B. die Ausgabe einer CalibrateImage- oder TransBlobsToWorld-Funktion. Sortieren nach Gitter Y kann nur auf Pixelkoordinaten angewendet werden.
6 = Gitter X | Sortierung nach dem Abstand zuerst entlang der x-Koordinate der Vorrichtung und dann entlang der y-Koordinate, vom nächsten bis zum entferntesten, in absteigender Reihenfolge. Hinweis: „SortBlobs“ gibt #ERR zurück, wenn Gitter X ausgewählt ist und die Funktion auf ein Bild verweist, das auf Weltkoordinatenwerte kalibriert wurde, z. B. die Ausgabe einer CalibrateImage- oder TransBlobsToWorld-Funktion. Sortieren nach Gitter X kann nur auf Pixelkoordinaten angewendet werden.
7 = Breite | Sortiert nach Breitenwerten, absteigend.
8 = Höhe | Sortiert nach Höhenwerten, absteigend.
Vorrichtung | Definiert den Flächenmittelpunkt (das Zentroid) vom referenzierten Blob im Verhältnis zu einer Vorrichtung als Eingang oder im Verhältnis zu einem Ausgang des Bildkoordinatensystems einer Vision Tools-Funktion. Wenn man den Flächenmittelpunkt (das Zentroid) vom referenzierten Blob im Verhältnis zu einer Vorrichtung bestimmt, dann wird dadurch sichergestellt, dass beim Drehen oder Umsetzen der Vorrichtung auch der referenzierte Blob im Verhältnis zur Vorrichtung gedreht oder umgesetzt wird. Die Standardeinstellung ist (0,0,0), die oberste linke Ecke des Bilds.
X | Der x-Offset in Bildkoordinaten.
Y | Der y-Offset in Bildkoordinaten.
Winkel | Die Drehung von der x-Bildachse im Bildkoordinatensystem. (+/-360 Grad im Uhrzeigersinn)
Anzeigen | Legt den Anzeigemodus für SortBloobs-Grafiküberlagerungen fest, die über dem Bild angezeigt werden.
0 = Alle ausblenden (Standard) | Alle Grafiken werden nur angezeigt, wenn die Zelle mit der SortBlobs-Funktion in der Tabelle markiert ist.
1 = Nur Ergebnis-Grafik | Blob-Umrisse werden immer angezeigt.

## SortBlobs – Ausgaben

Rückgabewert | Eine Blobs-Datenstruktur, die die sortierten Blobs enthält, oder #ERR, wenn einer der Eingabeparameter ungültig ist.
Ergebnisse | Wenn SortBlobs erstmals in eine Zelle eingefügt wird, wird eine Ergebnistabelle in der Tabelle erstellt. Hinweis: Wenn der Wert des Parameters Zu sort. Anzahl größer als Null ist, fügt SortBlobs automatisch eine Ergebnistabelle mit maximal 10 Einträgen ein, die den ersten 10 Blobs in der Blobs-Datenstruktur entsprechen. Möchten Sie mehr Einträge anzeigen lassen, können Sie die Tabelle durch kopieren der letzten Zeile und das Einfügen weiterer Zeilen am Ende erweitern. Vergewissern Sie sich, dass der Index der neu eingefügten Zeilen inkrementiert wird, so dass der korrekte Blob indiziert wird. Die folgenden Blobs Vision Data Access functions werden automatisch in die Tabelle eingefügt, um die Ergebnistabelle der SortBlobs-Datenstruktur zu erstellen:
Label | Funktion | Beschreibung
Index |  | Ein Blobs-Index
X | GetX(Blobs, Blob Index) | Gibt die x-Koordinate des Massenmittelpunkts (Schwerpunkt) des referenzierten Blobs zurück.
Y | GetY(Blobs, Blob Index) | Gibt die y-Koordinate des Massenmittelpunkts (Schwerpunkt) des referenzierten Blobs zurück.
Winkel | GetAngle(Blobs, Blob Index) | Gibt den Winkel zwischen dem gefundenen Mittelpunkt des Blobs und dem Mittelpunkt des ROI an.
Farbe | GetColor(Blobs, Blob Index) | Gibt den Farbwert des referenzierten Blobs zurück (0 = schwarz, 1 = weiß).
Güte | GetScore(Blobs, Blob Index) | Ein Maß dessen, in welchem Grad der Blob den Kriterien der Funktion FindBlobs entspricht.
Fläche | GetArea(Blobs, Blob Index) | Gibt die Fläche des referenzierten Blobs in Pixel zurück. Hinweis: Wenn der Blob Löcher enthält, variiert der Wert Fläche und hängt davon ab, ob das Kontrollkästchen Löcher füllen aktiviert oder deaktiviert ist.
Streckung | GetElongation(Blobs, Blob Index) | Gibt einen Wert zurück, der darstellt, wie weit die Pixel eines Blobs vom Massenmittelpunkt (Zentroid) gestreckt sind. Zum Beispiel würde ein Kreis eine Ausdehnung von 0 aufweisen, während ein Nagel eine hohe Ausdehnung hätte.
Löcher | GetHoles(Blobs, Blob Index) | Gibt die Anzahl der Löcher innerhalb des referenzierten Blobs zurück.
Umfang | GetPerimeter(Blobs, Blob Index) | Gibt die Länge der Grenze des referenzierten Blobs zurück. Der Umfang wird berechnet durch Zählen der außenliegenden Kanten der Pixel, die die Grenze des Blobs bilden.
Ausdehnung | GetSpread(Blobs, Blob Index) | Gibt einen Wert zurück, der darstellt, wie weit die Pixel eines Blobs vom Massenmittelpunkt (Zentroid) verteilt sind. Zum Beispiel würde ein kreisförmiges Objekt einen niedrigeren Wert für Ausdehnung haben als ein ovales Objekt.