Ich habe ein Zielbild, das nach einer Kurve entlang seiner Kanten durchsucht werden soll, und ein Vorlagenbild, das die Kurve enthält. Was ich erreichen muss, ist, die beste Übereinstimmung der Kurve im Vorlagenbild innerhalb des Zielbildes zu finden und auf der Grundlage des Ergebnisses herauszufinden, ob es eine Übereinstimmung gibt oder nicht. Dazu gehört auch die Drehung und Größenänderung der Kurve. Das Zielbild kann die Ausgabe eines Canny-Edge-Detektors sein, wenn das die Sache einfacher macht.
Ich erwäge, OpenCV (unter Verwendung von Python oder Processing/Java oder wenn diese nur begrenzten Zugang zu den erforderlichen Funktionen haben, dann unter Verwendung von C) zu verwenden, um die Dinge praktisch und effizient zu machen, konnte jedoch nicht herausfinden, ob ich irgendwelche Funktionen (oder eine Kombination von ihnen) in OpenCV verwenden kann, die für diese Aufgabe verwendbar sind. Ich habe durch die OpenCV-Dokumentation gelesen und dachte zunächst, dass Contours diese Aufgabe erledigen könnte, aber alle Beispiele zeigen geschlossene Formen im Gegensatz zu meinem Fall, wo ich eine offene Kurve zu einem Teil einer Kante anpassen müssen.
Also gibt es eine Möglichkeit, dies entweder mit OpenCV oder mit einem bekannten Code oder Algorithmus zu tun, die Sie vorschlagen würden?
Hier sind einige Bilder, die das Problem veranschaulichen: