sucht nach den Positionen, an denen ein Musterbild am besten mit einem Bild übereinstimmt
ListePositionen = FindBestMatches(Aehnlichkeit, GroesseMusterbild, Methode);
2D-Matrix vom Typ double, ist das Ergebnis von MatchTemplate
Vektor mit zwei Elementen, gibt die Anzahl der Zeilen und Spalten des Musterbildes an
Konstante vom Typ uint8, folgende Werte sind möglich:
MATCH_LEAST_SQUARES: Summe der quadratischen Differenzen zwischen den Grauwerten der Pixel von Quell- und Musterbild
MATCH_CORRELATION: Korrelation zwischen Musterbild und Umgebung von Mittelpunkt des Musterbildes im Quellbild
MATCH_LEAST_SQUARES_NORM: normalisierte Summe der quadratischen Differenzen zwischen den Grauwerten der Pixel von Quell- und Musterbild
MATCH_CORRELATION_NORM: normalisierte Korrelation zwischen Musterbild und Umgebung von Mittelpunkt des Musterbildes im Quellbild
Matrix mit zwei Spalten, enthält die Positionen aller Pixel, bei denen die Ähnlichkeit optimal ist. Die erste Spalte gibt die x-, die zweite Spalte die y-Koordinate an.
Diese Funktion sucht nach den Positionen, an denen ein Musterbild am besten mit einem Bild übereinstimmt. Die Koordinaten der gefundenen Pixel werden dabei auf die Größe des ursprünglichen Bildes umgerechnet.
global MATCH_CORRELATION_NORM; global IPD_PATH; QuellbildFarbe = ReadImage(IPD_PATH + 'demos\teaset.png'); Quellbild = RGB2Gray(QuellbildFarbe); MusterbildFarbe = ReadImage(IPD_PATH + 'demos\cropped_image.png'); Musterbild = RGB2Gray(MusterbildFarbe); Aehnlichkeit = MatchTemplate(Quellbild, Musterbild, MATCH_CORRELATION_NORM); BesteUebereinstimmung = FindBestMatches(Aehnlichkeit, size(Musterbild), MATCH_CORRELATION_NORM); Markierung = list(); for n = 1 : size(BesteUebereinstimmung, 1) Markierung($ + 1) = struct('BoundingBox', cat(2, BesteUebereinstimmung(n, :) - [1 1], [3 3])'); end; QuellbildFenster = figure(); ShowColorImage(QuellbildFarbe, 'Bild mit markierten Positionen der besten Übereinstimmung'); DrawBoundingBoxes(Markierung, [0 1 0], QuellbildFenster); MusterbildFenster = figure(); ShowColorImage(MusterbildFarbe, 'Musterbild'); | ![]() | ![]() |