2016-04-04 8 views
0

Ich habe eine MATLAB-Struktur von regionprops() erstellt, die den Bereich und Schwerpunkt eines Binärbildes zurückgibt. Im Moment hat die Struktur 16 Wertepaare (ein Area- und ein Centroid-Paar für jeden vorhandenen binären Blob). Meine Frage ist, wie kann ich den Centroid-Wert zurückgeben, wo der Bereich ein Kriterium erfüllt? Wie in, geben Sie die Centroid-Werte für den größten Bereich zurück.Rückgabe Struktur Feld Wert von Kriterien

Im Moment finde ich den größten Flächenwert über

maxArea = max([struct.Area]); 

die struct innerhalb der Struktur auf die Zeilennummer, wo die max Area zurückgibt. Wie kann ich diese Zeilennummer verwenden, um den Centroid-Wert auszugeben, der das Paar für max Area ist? Oder gibt es einen besseren Weg, dies zu tun?

Danke!

Antwort

1

Versuchen Sie stattdessen:

[maxArea, ind] = max([s.Area]); %//get the max Area, and the index 
s(ind).Centroid %//the centroid with the max area 
+0

Perfect! Genau das, was ich wollte. Vielen Dank – flexcookie