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

Deconvoluton von Bildern im Bayer Format

 

Pheeenix
Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 01.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2010, 11:33     Titel: Deconvoluton von Bildern im Bayer Format
  Antworten mit Zitat      
Hallo,
wiedermal ne Frage zu Deconvolution Wink

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!
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: 26.08.2010, 13:07     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Pheeenix
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 01.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2010, 15:04     Titel:
  Antworten mit Zitat      
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......
Private Nachricht senden Benutzer-Profile anzeigen
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2010, 16:04     Titel:
  Antworten mit Zitat      
Hallo,

Du kannst mit

Code:

doc demosaic
 


Dein Bild in ein "normales" RGB Bild umwandeln.

Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
Pheeenix
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 01.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2010, 17:34     Titel:
  Antworten mit Zitat      
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
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: 26.08.2010, 18:02     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Pheeenix
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 01.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2010, 18:27     Titel:
  Antworten mit Zitat      
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
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: 26.08.2010, 19:50     Titel:
  Antworten mit Zitat      
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:


Code:
I = imread('....');             % farbiges Bild
PSF=fspecial('motion',10,5);       % 10 Pixel, 5 Grad -Bewegungsunschärfe-
Deblurred=deconvblind(I,PSF,10);   % 10 Iterationen
figure; imshow(Deblurred);


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
Private Nachricht senden Benutzer-Profile anzeigen
 
Pheeenix
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 01.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2010, 20:28     Titel:
  Antworten mit Zitat      
Danke für die Infos.
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.