Hallo...
Ich habe folgende Aufgabenstellung auf Arbeit:
Ich soll mit einem Laserscanner ein 3D-Bild einer Gussform einlesen, dieses mit von mir selbst erstellten Mustern vergleichen und dann das zu dem Muster passende Reinigungsprogramm starten.
Das auftretende Problem ist, dass die selbe Form 2 mal hintereinander eingescannt nicht dieselben Punkte liefert sondern nur "in etwa" die selben.
Von den eingescannten Punkten ausgehend interpoliere ich die Werte in ein 2000*1000 Feld und nutze dieses als Heightmap für
DirectX. Das klappt soweit auch bis auf ein paar Grafik-Fehler ;o)
Jetzt habe ich allerdings schon zwei mathematische Fehler drinne:
1) Laser leifert nicht immer die selben Werte
2) Ich interploliere die fehlerhaften MEsswerte => Fehler vergrößert sich
Ich habe jetzt versucht aus diesen Daten Muster zu erstellen indem ich das 2000*1000 Feld in ein
200*100 Feld geschrieben hab und aus den 10*10 Werten dabei den Mittelwert bestimmt habe um den Fehler möglichst klein zu halten.
Leider habe ich jetzt feststellen müssen, das dieses Verfahren zwar für eine grobe Unterscheidung
ausreichend ist, nicht jedoch wenn sich die Gussformen nur minimal unterscheiden.
Deshalb suche ich nach anderen Vorschlägen wie man die Mustererkennung bewerkstelligen könnte!
Ums nochmal zusammenzufassen:
Ausgangssituation:
-3-D Punkte vom Scanner mit bis zu ca. 5 % abweichungen
-Diese werden in ein 2000*1000 Feld interpoliert
-Daraus muss ich Muster erstellen
Mein nächster Ansatz wäre es so eine Kurvendisskusion über die Fläche zu machen.
Dann würde ich lokale Hoch und Tiefpunkte vergleichen und versuchen so ein Muster zu erstellen.
Gibt es bessere Vorschläge?
Oder Seiten wo ich mich einlesen könnte?