WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Hilfe bei Verständnis/Verwendung von Medfilt (1 bis 3)

 

MatlabNeuling2017
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 91
Anmeldedatum: 28.06.17
Wohnort: ---
Version: R2017a
     Beitrag Verfasst am: 28.06.2018, 11:43     Titel: Hilfe bei Verständnis/Verwendung von Medfilt (1 bis 3)
  Antworten mit Zitat      
Hallo Matlab-Profis,

ich habe trotz Recherche in der Dokumentation/Hilfe von Matlab Verständnisprobleme mit dem Medianfilter (Medfilt1, Medfilt2, Medfilt3).

Meine Probleme sind:
1. Was sagt die Dimension aus?
Von einem Matlab-Forum Teilnehmer habe ich erfahren:
Dimension 1: spaltenweise Filterung
Dimension 2: zeilenweise Filterung
Kann mir jemand dazu etwas ergänzen?

2. Ich habe versch. Bereiche von z-Werten aus einer 3D-Fläche und möchte diese glätten, damit Rauschen entfernt wird. Die z-Werte befinden sich je in einer NxN-Matrix.

Welchen Medianfilter wende ich nun an?
medfilt1, medfilt2 oder medfilt3?

Medfilt1, weil ich quasi ja nur die z-Werte, also eine Dimension meiner Fläche glätte?
Medfilt2, weil meine z-Werte-Matrix zweidimensional ist (Spalten und Zeilen)?
Es ist aber strenggenommen kein Bild, allerdings sind Bilder ja auch Matrizen mit Werten.
Oder Medfilt3, weil die ursprüngliche Datei eine 3D-Fläche ist?

Ich hoffe man versteht meinen Konflikt.
Um jeden Hinweis und Hilfe bin ich dankbar.

Grüße,
MatlabNeuling2017
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 28.06.2018, 12:43     Titel: Re: Hilfe bei Verständnis/Verwendung von Medfilt (1 bis 3)
  Antworten mit Zitat      
Hallo MatlabNeuling2017,

Zitat:
1. Was sagt die Dimension aus?
Von einem Matlab-Forum Teilnehmer habe ich erfahren:
Dimension 1: spaltenweise Filterung
Dimension 2: zeilenweise Filterung

Was ist daran unklar? Wenn Du ein 3D-Array hast, kann Du auch noch über die dritte Dimension glätten.
Hattest Du das Beispiel mit sum mal ausprobiert? Das sollte es eigentlich klären, oder?
Code:
X = rand(2,3,4)
sum(X, 1)
sum(X, 2)
sum(X, 3)

Und dies ist beim Filtern genau das gleiche.

Zitat:
Welchen Medianfilter wende ich nun an?
medfilt1, medfilt2 oder medfilt3?

Deine Daten sind eine Matrix. Du kannst mit medfilt1 oder medfilt2 glätten, jenachdem ob die Glättung nur in Spalten- oder Zeilen-Richtung erfolgen soll, oder beides gleichzeitig.

Ob die Daten Z-Werte oder Pixel-Farben sind, spielt keine Rolle - in Matlab sind es ja sowieso nur Zahlen. Es kommt also darauf an, ob Du das "Bild" nur entlang der Zeilen oder Spalten glätten willst (dann medfilt1), oder ob die 2D Umgebung genutzt werden soll (dann medfilt2).
medfilt3 bringt dagegen gar nichts, weil Du hier über ein Volumen glätten würdest, also den Median über alle Elemente, die innerhalb eines Quaders liegen. Du hast aber nur eine Matrix, also 2D Werte.

Probiere es doch einfach mal mit einem kleinen Beispiel-Array aus.
Code:

Jetzt wende doch mal medfilt1 und medfilt2 an und lasse Dir die Ergebnisse anzeigen. Verstehst Du dann, was geschieht?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
MatlabNeuling2017
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 91
Anmeldedatum: 28.06.17
Wohnort: ---
Version: R2017a
     Beitrag Verfasst am: 28.06.2018, 15:17     Titel:
  Antworten mit Zitat      
img:
Code:

0,814723686393179   0,957506835434298   0,421761282626275   0,678735154857774   0,276922984960890   0,438744359656398   0,709364830858073   0,959743958516081
0,905791937075619   0,964888535199277   0,915735525189067   0,757740130578333   0,0461713906311539   0,381558457093008   0,754686681982361   0,340385726666133
0,126986816293506   0,157613081677548   0,792207329559554   0,743132468124916   0,0971317812358475   0,765516788149002   0,276025076998578   0,585267750979777
0,913375856139019   0,970592781760616   0,959492426392903   0,392227019534168   0,823457828327293   0,795199901137063   0,679702676853675   0,223811939491137
0,632359246225410   0,957166948242946   0,655740699156587   0,655477890177557   0,694828622975817   0,186872604554379   0,655098003973841   0,751267059305653
0,0975404049994095   0,485375648722841   0,0357116785741896   0,171186687811562   0,317099480060861   0,489764395788231   0,162611735194631   0,255095115459269
0,278498218867048   0,800280468888800   0,849129305868777   0,706046088019609   0,950222048838355   0,445586200710900   0,118997681558377   0,505957051665142
0,546881519204984   0,141886338627215   0,933993247757551   0,0318328463774207   0,0344460805029088   0,646313010111265   0,498364051982143   0,699076722656686
 


medfilt1(img,3,[],1): spaltenweise Veränderung
Code:

0,814723686393179   0,957506835434298   0,421761282626275   0,678735154857774   0,0461713906311539   0,381558457093008   0,709364830858073   0,340385726666133
0,814723686393179   0,957506835434298   0,792207329559554   0,743132468124916   0,0971317812358475   0,438744359656398   0,709364830858073   0,585267750979777
0,905791937075619   0,964888535199277   0,915735525189067   0,743132468124916   0,0971317812358475   0,765516788149002   0,679702676853675   0,340385726666133
0,632359246225410   0,957166948242946   0,792207329559554   0,655477890177557   0,694828622975817   0,765516788149002   0,655098003973841   0,585267750979777
0,632359246225410   0,957166948242946   0,655740699156587   0,392227019534168   0,694828622975817   0,489764395788231   0,655098003973841   0,255095115459269
0,278498218867048   0,800280468888800   0,655740699156587   0,655477890177557   0,694828622975817   0,445586200710900   0,162611735194631   0,505957051665142
0,278498218867048   0,485375648722841   0,849129305868777   0,171186687811562   0,317099480060861   0,489764395788231   0,162611735194631   0,505957051665142
0,278498218867048   0,141886338627215   0,849129305868777   0,0318328463774207   0,0344460805029088   0,445586200710900   0,118997681558377   0,505957051665142
 


img2 = medfilt2(img,[3 3]):
Code:

0   0,814723686393179   0,678735154857774   0,276922984960890   0,276922984960890   0,276922984960890   0,381558457093008   0
0,157613081677548   0,814723686393179   0,757740130578333   0,678735154857774   0,438744359656398   0,381558457093008   0,585267750979777   0,340385726666133
0,157613081677548   0,913375856139019   0,792207329559554   0,757740130578333   0,743132468124916   0,679702676853675   0,585267750979777   0,276025076998578
0,157613081677548   0,792207329559554   0,743132468124916   0,694828622975817   0,694828622975817   0,679702676853675   0,655098003973841   0,276025076998578
0,485375648722841   0,655740699156587   0,655477890177557   0,655477890177557   0,489764395788231   0,655098003973841   0,489764395788231   0,223811939491137
0,278498218867048   0,632359246225410   0,655740699156587   0,655740699156587   0,489764395788231   0,445586200710900   0,445586200710900   0,162611735194631
0,141886338627215   0,485375648722841   0,485375648722841   0,317099480060861   0,445586200710900   0,445586200710900   0,489764395788231   0,162611735194631
0   0,278498218867048   0,141886338627215   0,0344460805029088   0,0344460805029088   0,118997681558377   0,445586200710900   0
 


medfilt1(img,3,[],2): zeilenweise Veränderung
Code:

0,814723686393179   0,814723686393179   0,678735154857774   0,421761282626275   0,438744359656398   0,438744359656398   0,709364830858073   0,709364830858073
0,905791937075619   0,915735525189067   0,915735525189067   0,757740130578333   0,381558457093008   0,381558457093008   0,381558457093008   0,340385726666133
0,126986816293506   0,157613081677548   0,743132468124916   0,743132468124916   0,743132468124916   0,276025076998578   0,585267750979777   0,276025076998578
0,913375856139019   0,959492426392903   0,959492426392903   0,823457828327293   0,795199901137063   0,795199901137063   0,679702676853675   0,223811939491137
0,632359246225410   0,655740699156587   0,655740699156587   0,655740699156587   0,655477890177557   0,655098003973841   0,655098003973841   0,655098003973841
0,0975404049994095   0,0975404049994095   0,171186687811562   0,171186687811562   0,317099480060861   0,317099480060861   0,255095115459269   0,162611735194631
0,278498218867048   0,800280468888800   0,800280468888800   0,849129305868777   0,706046088019609   0,445586200710900   0,445586200710900   0,118997681558377
0,141886338627215   0,546881519204984   0,141886338627215   0,0344460805029088   0,0344460805029088   0,498364051982143   0,646313010111265   0,498364051982143
 


Ich möchte die Peaks in der angehängten Fläche abmildern/glätten ohne die Grundform platt zu machen.

Beispiel zum Glätten.JPG
 Beschreibung:

Download
 Dateiname:  Beispiel zum Glätten.JPG
 Dateigröße:  144.27 KB
 Heruntergeladen:  276 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.