berechnet die Ähnlichkeit zwischen einem Bild und einem Musterbild
Aehnlichkeit = MatchTemplate(Quellbild, Musterbild, Methode);
2D-Matrix vom Typ uint8
2D-Matrix vom Typ uint8, darf nicht mehr Zeilen oder Spalten haben als Quellbild
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
2D-Matrix vom Typ double
Diese Funktion berechnet die Ähnlichkeit zwischen einem Bild und einem Musterbild. Das Musterbild läuft über das Quellbild. Ein Maß der Ähnlichkeit zwischen dem Musterbild und dem davon abgedeckten Ausschnitt des Quellbildes wird berechnet. Das Musterbild ragt dabei nicht über das Quellbild hinaus. Daher ist die resultierende Matrix kleiner als das Quellbild.
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'); | ![]() | ![]() |