ich öffne die Input-Daten und die Output-Daten und vergleiche eben die Zahlen. Und dabei sind die Zahlen komplett gleich, weshalb ich bezweifle, ob der Medianfilter Anwendung findet.
Ich habe jetzt zur Einfachheit die Matrix zqneuneu1 mit weniger Daten angegeben.
Dort ist beschrieben, dass das 4 Input Argument die Dimension ist, über die gefiltert wird. Du hast eine 2D-Matrix als Input und filterst über die Dimension 3:
Die 3. Dimension hat die Länge 1 (wie alle angehängten Dimensionen in Matlab). Also ist der Media darüber genau der vorhandene Wert.
Während die Namen "Zfiltmedian1" und "zqneuneu1" viel zu umständlich sind und einem das Tippen nur schwer machen, ist "md" etwas knapp. Ich kann daraus nicht schließen, was der Zweck dieser Variablen ist.
danke für deine Antwort.
Danke auch für den Hinweis, dass die Variablennamen zu lang oder zu kompliziert sind. Ich werde es mir beim nächsten Mal zu Herzen nehmen. Allerdings gibt es ja auch die Copy&Paste-Funktion
Zunächst einmal:
md steht für Median Dimension, mf steht für Median Filterordnung.
Ich verstehe auch trotz Studium der Hilfe nicht so ganz was die Filterordnung bewirkt.
Die Dimension, soweit ich weiß, ist die Größe des Filterkernels der drüberläuft.
Aber was passiert mit der Ordnung?
Was meinst du mit
Zitat:
Die 3. Dimension hat die Länge 1
?
Mein Ziel ist es einfach die Z-Werte einer Fläche, die ich als Matrix habe bzw. auch in einen Vektor wandeln kann, zu glätten.
Aber die Frage ist natürlich wie stark muss/kann ich glätten ohne die eigentliche Struktur darunter nicht zu verwischen.
Auch fehlen mir dazu die Erfahrungswerte wie die einzelnen Parameter Dimension oder Ordnung zahlenmäßig am Besten zusammen verwendet werden sollten.
Hast du darin Erfahrung oder kannst du mich ein wenig aufklären?
Wenn Du z.B.
sum
anwendest, kannst Du entlang der Zeilen oder Spalten summieren. Das gleiche gilt für das Filtern: Du has eine 2D-Matrix als input und filterst entlang der 3. Dimension.
Nun gilt in Matlab die Konvention, dass abschließende Dimensionen der Länge 1 immer ignoriert werden. Deswegen hat z.B. eine 2D Matrix eine 7. Dimension der Länge 1:
achso, jetzt verstehe ich was mit Dimension gemeint ist.
Dimension 1: spaltenweise
Dimension 2: zeilenweise
D.h. also ich kann mit medfilt1 entweder nur in Richtung der Zeilen oder nur in Richtung der Spalten glätten, aber beides gleichzeitg nicht, oder?
Je nachdem was ich für eine Dimension verwende, kann auch ein anderes Ergebnis entstehen.
Wenn ich medfilt2 verwende, kann ich zeilen- und spaltenweise gleichzeitg filtern, oder?
Noch einmal zur Klarstellung:
Ich habe aus einer mehrfach gekrümmten 3D-Ebene drei Vektoren mit x-,y-, und z-Werten.
Ich möchte nun das Rauschen der Ebene entfernen, also NUR die z-Werte glätten.
Wende ich jetzt den medfilt1 an oder ist es eher ratsam medfilt2 oder medfilt3 zu verwenden?
falls du die z-Werte sowohl in x- als auch in y-Richtung glätten willst sollte das am besten mit medfilt2 funktionieren. Musst dir dann halt noch die Größe des Filters anpassen.
Für medfilt2 brauchst du allerdings die "Image Processing Toolbox". Musst mal schauen ob du die auch zur Verfügung hast.
Beim Filtern musst du nur aufpassen, dass du dir nichts "kaputt" filterst. Filter eignen sich nämlich auch ganz gut um Ergebnisse "etwas anzupassen"
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.