Gast
#3345006
Ein Sensor tastet eine Oberflaeche ab und gibt mir ein zweidimensionales Array mit x/y-Koordinaten aus. Diese Daten sollen zyklisch aufbereitet und ausgewertet werden (Abstaende zwischen bestimmten Punkten, Mittelpunkte etc). Das Hauptproblem sind nicht immer vermeidbare Reflexionen, die sich als Ausreisser im Array aeussern. Wenn ich zB den tiefsten Punkt der Oberflaeche suche und einzelne Pixel 1cm unter der Oberflaeche auftreten, ist das Ergebnis einer einfachen Suche nach dem tiefsten Punkt wertlos. Mein aktueller erster Ansatz ist, eine Kurve durch die Punkte zu legen, einzelne Stoerpixel beeinflussen das Ergebnis nicht, ich kann das Minimum in der Kurve bestimmen und habe meine gewuenschte Position. Bei groesster Sensoraufloesung (640 Wertepaare) schaffe ich so etwa 3,5 Berechnungen pro Sekunde auf einem Core2Duo, ohne die Glaettung ein paar zehntausend. Mehr als 85 Berechnungen/Sekunde muss ich nicht schaffen, weil ich andere Daten nicht schneller bekommen kann, natuerlich waer eine moeglichst sparsame Berechnung erstrebenswert. Ich weiss immer, wie die Oberflaeche aussieht (zB konkav, konvex, V-foermiger Spalt...). Wie geht man so ein Problem grundsaetzlich an, wie idealisiere ich meine Messdaten effizient so, dass wichtige Details erhalten bleiben und ausgewertet werden koennen?