|
|
Deconvoluton von Bildern im Bayer Format |
|
Pheeenix |
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2010, 10:33
Titel: Deconvoluton von Bildern im Bayer Format
|
|
Hallo,
wiedermal ne Frage zu Deconvolution
Ich weiss ja mittlerweile wie man ein RGB Bild "verschwommen" macht und diese dann durch deconvolution wieder verschönert. Allerdings habe ich das jetzt mal mit einem Bild im RGB Bayer Format versucht und nichts hinbekommen. Wenn ich hier ein verschwommenes Bild habe und eine Deconvolution ausführe, so kommt ein kompletter Blödsinn heraus.
Weiss also jemand wie man eine Deconvolution auf Bayer Bilder ausführt?
Vielen Dank!
|
|
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2010, 12:07
Titel:
|
|
Moin,
die Algorithmen 'deconblind', 'deconvwnr'... sind alle für 3D-Bilder ausgelegt. Daran dürfte das Problem nicht scheitern. Unklar ist, welche Form der Unschärfe Du beseitigen möchtest. Es gibt die wesentlichen Unterscheidungsmerkmale 'motion' und 'gaussian'. Das müßte vorrangig ermittelt werden. Dann liefern die genannten Funktion auch gute Resultate, wenn nicht noch andere Ursachen für die Entstehung der Unschärfe verantwortlich sind.
Die richtige oder angenäherte Ermittlung der Einstellungsparameter ist nicht ganz einfach und kann dazu führen, dass keine Einstellung zu einem guten Resultat führt. Am einfachsten ist die Rückrechnung einer eindeutigen Bewegungsunschärfe. Damit sollte man beginnen, da diese in der Ausdehnung (Vektorlänge) am eindeutigsten zu ermitteln ist. Sonst beschreibe Dein Problem etwas genauer. Meinst Du mit Bayer-Bilder Farbbilder im Bayer-Pattern Muster?
Hubertus
|
|
|
Pheeenix |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2010, 14:04
Titel:
|
|
Als unschärfe habe ich eine Gaussian Unschärfe.
Das Bild das ich habe wurde als Bayer Pattern aufgenommen, was heisst sobald ich die einzelnen Farben extrahiere haben diese immer "ähnliche" Muster:
wert 0 wert 0 wert
0 wert 0 wert 0
...
dann ist es logisch das hier nur "müll" rauskommt, da die vielen Nullstellen bei einer convolution das Bild "verdunkeln". Meine Idee ist es also wiederum zu versuchen die Farbwerte so anzuorden das keine Nullstellen dazwischen sind und dann die deconvolution auf die einzelnen teile ausführe und die dann wieder zusammenzufügen. Allerdings weiss ich noch nicht ob das so 100%ig funktioniert......
|
|
|
LittleX |
Forum-Guru
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2010, 15:04
Titel:
|
|
Hallo,
Du kannst mit
Dein Bild in ein "normales" RGB Bild umwandeln.
Viele Grüße,
LittleX
|
|
|
Pheeenix |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2010, 16:34
Titel:
|
|
Danke für den Tipp, funktioniert auch, aber ich will ja wissen wie so eine Deconvolution auf so ein Pattern möglich ist ohne es umzuwandeln.
lg
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2010, 17:02
Titel:
|
|
Ich stehe bei Deiner Fragestellung völlig auf dem Schlauch, würde sie aber gerne verstehen. Ich kenne Bayer Pattern nur als CCD Matrix (im weitesten Sinne) die eine statistische Farbverteilung hat. Sie muß erst durch Interpolationen zu einer m*n*3 Matrix gerechnet werden. Willst Du die Blind Deconvolution noch vor diesen Berechnungen ausführen?
Vorweg gesagt, alle hier angeführten Verfahren zur BD arbeiten auf einer2-dimensionalen Matrix. Hast du eine 2-dimens. Matrix oder sieht Deine anders aus! Eine Farbtrennung ist für die BD nicht erforderlich, macht auch so keinen Sinn. Es sei denn, dass man nur auf einem 1 Farbkanal arbeiten will, was auch fragwürdig ist. Dann schon eher auf dem Luminanzkanal, um z.B. Störungen aufgrund von Artefakten zu beseitigen.
Viele Grüße
Hubertus
|
|
|
Pheeenix |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2010, 17:27
Titel:
|
|
Richtig, ich habe eine m*n*3 Matrix einer RGB Bayer Aufnahme. Zerlegt man die Farbkomponenten, in R, G und B und sieht sich die einzelnen Farbkomponenten an so sieht man das Bayer Pattern
also für rot zum bsp.:
wert 0 wert 0 wert
0 wert 0 wert 0
...
führe ich auf dieses bild eine gewöhnliche BD durch kommt nur "schwachsinn" raus. Da BD nur auf zweidimensionale Bilder geht funkt, muss man das Bild sowieso in seine Rabkomponenten zerlegen, getrennt die BD ausführen und das ganze dann wieder zusammenstoppslen. Die Frage ist nur wie das am besten gemacht wird.
lg
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2010, 18:50
Titel:
|
|
|
|
|
Hallo Pheenix,
ich versuche das mal so. Wie gesagt, die Zerlegung in die Farbkomponenten
macht keinen Sinn und ist auch nicht notwendig. Der Algorithmus zur BD ist für Farbbilder ausgelegt. Gemeint ist, dass Matlab nur 2-dimensionale Matrizen erkennt und diese dann in 3 nacheinander folgenden Durchläufen für die Komponenten R,G und B bearbeitet. Die "unzufriedenen Resultate" rühren von anderen Problemen her. Mit folgenden Code kannst Du direkt m*N*3 Bilder bearbeiten:
Der Algorithmus bearbeitet also eine Bewegungsunschärfe. Für Gaussche-Unschärfe mußt Du auf 'gaussian' statt 'motion' umstellen und entspr. Werte eingeben. Die Gaussche Unschärfe führt sehr oft zu unbefriedigenden Ergebnissen, da die Unschärfe nicht in einem definierten Vektor liegt, sondern über das ganze Bild verteilt ist. Auch größere Ausdehnungen der Unschärfe lassen sich nur schwerlich zurückrechnen.
Wenn das alles nicht hilft ist der Algorithmus falsch, zumindest falsch zur vorliegenden Problematik. Weitere Funktionen sind der Wiener Filter und der L.-R. Algorithmus.
Wenn Du hiermit nicht witerkommst,melde Dich.
Viele Grüße und viel Glück
Hubertus
|
|
|
Pheeenix |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2010, 19:28
Titel:
|
|
|
|
|
|
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.
|
|