Schnellster Weg, um eine Submatrix m x n in der Matrix M x N zu finden

Ich dachte über eine schnelle Methode nach, um eine Submatrix m in einer größeren Mtrix M zu suchen. Ich muss auch Teilübereinstimmungen identifizieren.

Einige Ansätze, die mir einfallen könnten, sind:

Optimieren Sie die normale Bruteforce, um nur inkrementelle Zeilen und Spalten zu verarbeiten.Kann den Rabin-Karp-Algorithmus auf 2-d erweitern, ist sich aber nicht sicher, wie man mit partiellen Übereinstimmungen umgeht.

Ich glaube, dies ist ein häufiges Problem bei der Bildverarbeitung und würde mich freuen, wenn jemand seine Beiträge einbringen oder mich auf Ressourcen / Dokumente zu diesem Thema hinweisen könnte.

BEARBEITEN: Kleineres Beispiel:

Größere Matrix:
1 2 3 4 5
4 5 6 7 8
9 7 6 5 2

Kleinere Matrix:
7 8
5 2

Ergebnis: (Reihe: 1 Spalte: 3)

Ein Beispiel für eine kleinere Matrix, die sich als Teilübereinstimmung bei (1, 3) qualifiziert:
7 9
5 2

Wenn mehr als die Hälfte der Pixel übereinstimmen, wird dies als Teilübereinstimmung gewertet.

Vielen Dank.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage