|
|
Inverse Faltung im Zeitbereich/Frequenzbereich |
|
Pheeenix |
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.07.2010, 16:56
Titel: Inverse Faltung im Zeitbereich/Frequenzbereich
|
|
Hallo Allerseits!
Ich hätte gerne gewusst wie eine Inverse Faltung im Zeitbereich aussieht. Wie eine normale Faltung im Zeitbereich(auf ein Bild beispielsweise) funktioniert weiss ich, allerdings hab ich versucht das ganze in Mathlab nachzurechnen und komm auf keinen grünen Zweig.
Faltung = Bild * Kernel
ich hab nun versucht das Faltungsergebnis mit einen um 180 ° gedrehten Kernel zu falten, jedoch ohne erfolg. Das selbe ists wenn ich den Kernel Invertiere.
ich habe auch versucht das ganze im Frequenzraum zu lösen:
Dies geht aber auch nicht einfach so, da das Bild und der Kernel nicht die gleichen "Abmessungen" haben (Kernel ist 5x5 Matrix, Bild ist eine mxn Matrix). Hier kommt auch nur "Müll" raus.
Kann mir jemand weiterhelfen?
|
|
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.07.2010, 17:05
Titel:
|
|
Deine Kernelmatrix muß die gleiche Größe haben wie Deine Bildmatrix:
Hubertus
|
|
|
Pheeenix |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.07.2010, 07:08
Titel:
|
|
ok, das ist logisch, aber wie brige ich die Werte des Kernels in die Matrix, bzw. wo in die Matrix muss ich die geben? wenn ich das Falte werden ansonsten ja nur die mittleren 5x5 pixel gefaltet?
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.07.2010, 07:36
Titel:
|
|
Moin,
hier ein Beispiel:
Hubertus
|
|
|
Pheeenix |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.07.2010, 11:29
Titel:
|
|
Danke für die Hilfe.
ich hab das jetzt gemacht wie du (hab was gefunden wie das etwas "einfacher" aussieht).
hier bekomme ich die richtige Ausgabe bzw. wird das richtige Bild angezeigt. Hier brauche ich den abs() Befehl nicht?!
Dein Code macht ähnliches, bei dir wird das gefaltete noch mal gefaltet (durch die Punktweise Multiplikation)
Ich wollte nun das Ganze umdrehen um eine Inverse Filterung zu machen,
also lese ich das verschwommene Bild ein und führe statt der punktweisen Multiplikation eine Division durch.
Und genau hier habe ich wieder ein Problem.
Ich kann das Bild nicht darstellen (weder bei deinem Code noch bei meinem, weder mit dem abs() befehl noch ohne). Ich bekomme lediglich ein schwarzes Bild!?
Weiß vielleicht irgendwer eine Lösung? Ich bin schon am Verzweifeln
Danke!
|
|
|
Pheeenix |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.07.2010, 12:39
Titel:
|
|
Ich denke ich habe das Problem gefunden, suche aber noch nach einer Lösung
Nach der fft2 Operation sind die beiden Werte des Bildes sowie des Faltungskernes complex. Bei der punktweisen Division enstehen so Werte die in Matlab als -Inf angezeigt werden. Bei der ifft2 Operation werden dann alle Elemente als NAN angezeigt.
Wie kann das passieren? Die reellen Werte sind alle Positiv - wie kommt man dann auf "-Inf" Werte und wie kann man das vermeiden um bei der Rücktransformation "normale" Werte zu haben die auch als Bild ausgegeben werden können?
|
|
|
Pheeenix |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.07.2010, 05:41
Titel:
|
|
Hab mein Problem gelöst.
Ich setzte alle durch die Transformation entstandenen Nullen auf einen Wert nahe null, oder verwende nach der Rücktransformation den floor und ceil befehl um alle +- Inf Werte zu ändern, dann kann Matlab auch diese Bilder Anzeigen.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|