Das Matching -Matching ist eine Technik, um den meistpassendsten (ähnlichen) Teil eines Bildes zum anderen zu finden.
Funktion: Imgproc.MatchTemplate (MAT -Bild, MAT -Templ, MAT -Ergebnis, int -Methode)
Parameterbeschreibung:
Bild: Quellenbild
Vorlagen: Vorlagebild
Ergebnis: Vergleichen Sie die Ergebnisse
Methode: Matching -Algorithmus
Passender Algorithmus:
TM_SQDIFF Squared Difference Matching -Methode: Diese Methode verwendet den quadratischen Unterschied, um übereinzustimmen. Der beste Übereinstimmungswert ist 0; Je schlechter das Spiel ist, desto größer ist der Spielwert.
TM_CCorr -Korrelationsanpassungsmethode: Diese Methode verwendet den Multiplikationsvorgang. Je größer der Wert ist, desto besser der passende Grad.
TM_CCOEFF -Korrelationskoeffizientenvergleichsmethode: 1 stellt eine perfekte Übereinstimmung dar; -1 repräsentiert das schlimmste Match.
TM_SQDIFF_NORMED Normalisierte Square -Differenz -Matching -Methode.
TM_CCorr_Normed Normalisierte Korrelationsanpassungsmethode.
TM_CCOEFF_NORMED Normalisierte Korrelationskoeffizienten -Matching -Methode.
Beispielcode:
public static void main (String [] args) {// Todo automatisch generierter Methoden-Stub-System.loadlibrary (core.native_library_name); Mat g_tem = imgcodecs.imread ("f: //mould.jpg"); Mat g_src = imgcodecs.imread ("f: //source.jpg"); int result_rows = g_src.rows () - g_tem.rows () + 1; int result_cols = g_src.cols () - g_tem.cols () + 1; Mat g_result = new Mat (result_rows, result_cols, cvtype.cv_32fc1); Imgproc.matchTemplate (g_src, g_tem, g_result, imgproc.tm_ccorr_normed); // Normalisierte Quadratvarianzübereinstimmung Methode // imgproc.matchTemplate (g_src, g_tem, g_result, // imgproc.tm_ccoeff_normed); // Normalisierte Korrelationskoeffizient -Matching -Methode // imgproc.matchTemplate (g_src, g_tem, g_result, imgproc.tm_ccoeff); // // // // Korrelationskoeffizientenanpassungsmethode: 1 repräsentiert eine perfekte Übereinstimmung; -1 repräsentiert das schlimmste Match. // imgproc.matchTemplate (g_src, g_tem, g_result, imgproc.tm_ccorr); // // Verwandte Matching -Methode // imgproc.matchTemplate (g_src, g_tem, g_result, imgproc.tm_sqdiff); // // Square Varianz Matching -Methode: Diese Methode verwendet die passende Quadratvarianz. Der beste Übereinstimmungswert ist 0; Je schlechter das Spiel ist, desto größer ist der Spielwert. // imgproc.matchTemplate (g_src, g_tem, g_result, imgproc.tm_ccorr_normed); // // Normalisierte Korrelationsanpassungsmethode Core.normalize (g_result, g_result, 0, 1, core.norm_minmax, -1, new Mat ()); Point MatchLocation = neuer Punkt (); Minmaxlocresult mmmlr = core.minmaxloc (g_result); MatchLocation = mmmlr.maxloc; // Ob Sie MaxLOC verwenden, hängt von dem verwendeten Matching -Algorithmus ab, der imgproc.rectangle (g_src, MatchLocation, neuer Punkt (matchlocation.x + g_tem.cols (), MatchLocation.y + g_tem.rows ()), neuer Scalar (0, 0, 0, 0, 0, 0)) hängt; Imgcodecs.imwrite ("f: //match.jpg", g_src); } Quellbild:
Vorlagenbild:
Match -Ergebnis:
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.