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

Wie arbeitet ein Mittelwert-Filter

 

Damian

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.07.2011, 19:08     Titel: Wie arbeitet ein Mittelwert-Filter
  Antworten mit Zitat      
Guten Abend,

Es sei ein Bild mit Schwarzen Hintergrund gegeben also Grauwert 255 es sind zusätzlich noch weiße Linien gegeben mit dem Grauwert 0.
Die Linien seien z.B. 7 Pixel Breit und 200 Pixel Hoch. Abstand zwischen jeder Linie sei 17 Pixel.

Meine frage ist wie das Bild aussieht wenn ein Mittelwertfilter z.B. 3x3 oder 7x7 drüber geht?


Werden die Linien dunkler?


Damian

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.07.2011, 19:26     Titel:
  Antworten mit Zitat      
sorry meinte natürlich Schwarz= Grauwert ---> 0 und Weiß --->255
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 18.07.2011, 19:52     Titel:
  Antworten mit Zitat      
Ich nehme mal, dass die Kanten der Linien unscharf werden. Ich habe es aber noch nie ausprobiert.

Schau dir doch mal folgendes Bsp. an...

http://besessener.com/software/matlab/konvolution.html

Unter Punkt b) steht, wie man die Filterung in Matlab durchführt. Du müsstest lediglich die mybin() Funktion des Binomialfilters mit dem Mittelwertfilter ersetzen...alles andere bleibt so. Das sollte ja kein Hexenwerk sein Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 18.07.2011, 23:23     Titel:
  Antworten mit Zitat      
Hallo,

deine Frage koenntest du dir folgendermassen sehr anschaulich selber beantworten:

Code:

figure('Units','normalized','Position',[0 0 1 1]);

img = zeros(100);
img(20:80,[10:12 30:38 50:70 80:84 90:2:end]) = 255; % Testbild

subplot(221);  imagesc(img); title('original');
convImg3 = conv2(img,ones(3)./9,'same');
subplot(222); imagesc(convImg3); title('3x3 Filter');

subplot(223);  imagesc(img); title('original');
convImg5 = conv2(img,ones(5)./25,'same');
subplot(224);  imagesc(convImg5); title('5x5 Filter');
colormap gray
 


MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
damian

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2011, 13:45     Titel:
  Antworten mit Zitat      
leider habe ich kein matlab auf meinem rechner. Habe sonst kein anderes Forum Bildverarbeitung ausser dieses im net gefunden.

Ich denke mal das an denn ränder das bild unscharf wird, und umos größer die Maske desto verschmierter der Rand.
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 19.07.2011, 13:50     Titel:
  Antworten mit Zitat      
Hier siehst du das Ergebnis Wink

Bild_MWF.GIF
 Beschreibung:

Download
 Dateiname:  Bild_MWF.GIF
 Dateigröße:  39.74 KB
 Heruntergeladen:  2152 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 19.07.2011, 13:57     Titel:
  Antworten mit Zitat      
Hallo damian,

das ist doch ganz einfach. Nimm die Pixelwerte (irgendwas mußt Du ja haben) und rechne mit einer 3*3 Matrix aus lauter 1en die Pixel aus und teile sie durch 9. Dann siehst Du anhand der neuen Pixel was passiert ist. Vergleiche das mit einer 7*7 Matrix.

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
damian

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2011, 15:05     Titel:
  Antworten mit Zitat      
danke für das Beispiel.
folgendes Beispiel damit ich genau verstehe wie die filtermaske über das bild geht.
Auf den Pixel A(3,3) mit dem Wert 98 soll ein geeigneter 3x3 Filter angewendet werden. Welcher Wert steht danach an der Stelle A(3,3)?


31 33 32 35 36 31
35 34 37 36 33 34
A= 34 33 98 36 34 32
32 36 32 35 36 35
33 31 36 34 31 32

Ich denke hier wäre der Medianfilter am idealsten. Das heisst ich nehme die Pixel in der 3x3 Umgebung und die 98 als Zentralen Punkt und sortiere sie. Danach ermittel ich den Medianen Wert.

Was meint Ihr?

Danke im vorraus
 
damian

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2011, 15:06     Titel:
  Antworten mit Zitat      
sorry die darstellung, ich will eine Matrix darstellen mit dem Namen A.
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 19.07.2011, 15:37     Titel:
  Antworten mit Zitat      
Wenn die Kernelwerte alle 1 sind, dann:

34+37+36+33+98+36+36+32+35=377/9=41,88 steht an Stelle der 98.

Ob der Medianfilter zu einem besseren Ergebnis führt, hängt vom zu verfolgenden Ziel ab. Es gibt daneben auch noch einen AlphaTrimmedMean-Filter, der stufenlos vom Median bis zum Mittelwertfilter geht. Da nach Deinem Beispiel nur statische Linien vorliegen, ist mir Dein Ziel nicht ganz klar.

Am Beispiel der Matrix A läßt sich natürlich nicht erkennen, welche Pixel zum Motiv gehören und welche rauschen. Der "Ausreißer" deutet auf Impulsrauschen hin, da wäre der Medianfilter die bessere Wahl.
Private Nachricht senden Benutzer-Profile anzeigen
 
damian

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2011, 15:47     Titel:
  Antworten mit Zitat      
Ja, die Kernelwerte sind alle 1.
Also in der Vorlesung haben wir median , mittelwertfilter, diffusionsfilter, boxfilter gehabt. Man soll in der Aufgabe einen geeigneten Filter anwenden und dann begründen weshalb.
Also wie du gerade gesagt hast, ist im Bild ein Aussreißer.
Deswegen denke ich das ein Median auch die bessere Wahl ist.

Danke.
 
damian

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2011, 17:27     Titel:
  Antworten mit Zitat      
Achso nochwas...
Werden die Kernelwerte des Filters mit denn Grauwerten multipliziert?
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 19.07.2011, 17:53     Titel:
  Antworten mit Zitat      
Ja, genau so ist das!
Private Nachricht senden Benutzer-Profile anzeigen
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 19.07.2011, 17:55     Titel:
  Antworten mit Zitat      
Hallo,

...JA, ansonsten wuerde es ja kaum Sinn machen, bzw. hat das Hubertus dir doch auch schon aufgezeigt. Mit Hilfe der Kernel Kennwerte werden die Eigenschaften des Filters charakterisiert.

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
damian

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2011, 19:02     Titel:
  Antworten mit Zitat      
danke für die Hilfe.
schönen Abend noch.
Gruss
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.