Ich habe viel gesucht und konnte keine Lösung finden.
Ich habe ein Bild (es sei 400 * 400) ) und ich habe ein kleines Stück davon (133 * 133) Ich möchte herausfinden, wo sich der Startpunkt (x, y) des kleinen Bildstücks im großen Bild befindet.
Mit einem anderen Wort möchte ich wissen können, wo sich das kleine Bild im großen Bild befindet.
Gibt es Vorschläge, wie es mit Java implementiert werden kann, ohne externe Bibliotheken zu verwenden?
Der einfachste Weg besteht darin, alle möglichen Startpunkte zu durchlaufen und das ( Summe der quadrierten) Unterschiede zwischen der Vorlage und dem Bild.
Dies ist jedoch furchtbar ineffizient. Sie sollten die Filterung im Frequenzbereich durchsehen und Ihre eigene Schnelle Fourier-Transformation (selbst mit einem selbst erstellten FFT-Algorithmus sollte die Verarbeitung weitaus schneller sein als die Berechnung der Unterschiede an jedem Punkt) / p>