SonyUserforum
Amazon
Forum für die Fotosysteme von Sony und KonicaMinolta
  SonyUserforum - Forum für die Fotosysteme
von Sony und KonicaMinolta
 
Registrieren Rund ums Bild Galerie Objektiv-Datenbank Kalender Forenregeln Nützliches

Startseite » Forenübersicht » Kreativbereich » Nach der Aufnahme » Minolta RAW dekodieren
Antwort
 
Themen-Optionen Ansicht
Alt 20.06.2006, 21:03   #1
harumpel
 
 
Registriert seit: 07.03.2006
Ort: Helmstedt / Wolfsburg
Beiträge: 1.166
Minolta RAW dekodieren

Guten Abend,

weiß vielleicht jemand, ob und wo es eine Anleitung zur Dekodierung von Minolta RAW gibt? Ich meine damit das RAW-Format, welches in den digitalen SLRs 5D & 7D verwendet wird.

Ich experimentiere gerade in einem eigenen Programm mit diversen Bildfiltern, vornehmlich Rauschfiltern . (Nicht das wir SoMiker Rauschentfernung nötig hätten.) Mir ist aufgefallen, dass das Entfernen von Rauschen aus einer JPG Datei recht ineffektiv ist, da das rauschende Pixel in der Bayer-Matrix durch Interpolation "versteckt" und verteilt wird. Wesentlich sinnvoller wäre es die RAW Datei einzulesen, nur wie stelle ich das an? Ich programmiere übrigens in Java, C++ würde notfalls aber auch gehen.

Meine Idee bis jetzt: dcraw nehmen und mit bilinearer Interpolation in ein verlustfreies Format konvertieren lassen. Danach diese RGB Datei mit meinem eigenen Programm einlesen und zurückinterpolieren. Das Ergebnis dürfte brauchbar sein, nur möchte ich nicht auf dcraw angewiesen sein. Obwohl, es hat ja auch Vorteile (Weissabgleich usw).

Wenn jemand was weiß, bitte melden.

Schönen Gruß
Theo
harumpel ist offline   Mit Zitat antworten
Sponsored Links
Alt 20.06.2006, 21:22   #2
kugelfisch
 
 
Registriert seit: 14.03.2006
Ort: Karlsruhe
Beiträge: 245
Hi,

eine Doku zum Format habe ich nicht, aber eine Java-API bekommst du dort. Sind aber glaub ich auch JNI-Calls, und mit Minolta-RAW's stürzt das Demo-Programm bei mir immer ab.

UFRAW ist aber ja Open Source, da kann man notfalls auch mal reinschauen.

Was für ein Sinn macht es aber wieder zurückzuinterpolieren und ins RAW zuschreiben? Wenn man schonmal interpoliert hat kann man das Bild auch verlustfrei in TIFF abspeichern?

Lass aber wieder von dir hören, wenn du erfolgreich bist!

Gruß
Alex
kugelfisch ist offline   Mit Zitat antworten
Alt 20.06.2006, 22:03   #3
harumpel

Themenersteller
 
 
Registriert seit: 07.03.2006
Ort: Helmstedt / Wolfsburg
Beiträge: 1.166
Zitat:
Zitat von kugelfisch
Hi,
Sind aber glaub ich auch JNI-Calls, und mit Minolta-RAW's stürzt das Demo-Programm bei mir immer ab.
Bei mir auch. "Invalid byte order". Bin mal gespannt ob sich das regeln läßt.

Zitat:
Was für ein Sinn macht es aber wieder zurückzuinterpolieren und ins RAW zuschreiben?
Nicht ins RAW zu schreiben, sondern Bildrauschen unterdrücken, weil rauschende Pixel wesentlich besser zu erkennen sind. Natürlich müsste man dann nach der Rauschentfernung wieder interpolieren.
harumpel ist offline   Mit Zitat antworten
Alt 20.06.2006, 22:07   #4
RainerV
 
 
Registriert seit: 22.02.2006
Beiträge: 11.388
Re: Minolta RAW dekodieren

Zitat:
Zitat von harumpel
Meine Idee bis jetzt: dcraw nehmen und mit bilinearer Interpolation in ein verlustfreies Format konvertieren lassen. Danach diese RGB Datei mit meinem eigenen Programm einlesen und zurückinterpolieren. Das Ergebnis dürfte brauchbar sein, nur möchte ich nicht auf dcraw angewiesen sein. Obwohl, es hat ja auch Vorteile (Weissabgleich usw).

Wenn jemand was weiß, bitte melden.

Schönen Gruß
Theo
Wieso nicht dcraw nehmen? Oder zumindest per Debugging aus dcraw die notwendigen Infos gewinnen. Wie Alex auch schon gesagt hat: Auch UFRAW liegt ebenfalls wie dcraw im Quellcode vor, da findet man schnell die Aufrufe, die man braucht um gezielt Anpassungen vorzunehmen. Spart viel eigene Entwicklungsarbeit. Die Weißabgleichsgeschichten sind da letztendlich einfach "Multiplikationsfaktoren" auf die eigentlichen Rohdaten. Du bekommst da ohne viel Aufwand letztendlich einen Array mit den Rohdaten geliefert und kannst damit so ziemlich alles machen wie Du es willst.

Rainer
RainerV ist offline   Mit Zitat antworten
Alt 20.06.2006, 22:27   #5
kugelfisch
 
 
Registriert seit: 14.03.2006
Ort: Karlsruhe
Beiträge: 245
Zitat:
Zitat von harumpel
Zitat:
Zitat von kugelfisch
Hi,
Sind aber glaub ich auch JNI-Calls, und mit Minolta-RAW's stürzt das Demo-Programm bei mir immer ab.
Bei mir auch. "Invalid byte order". Bin mal gespannt ob sich das regeln läßt.

Zitat:
Was für ein Sinn macht es aber wieder zurückzuinterpolieren und ins RAW zuschreiben?
Nicht ins RAW zu schreiben, sondern Bildrauschen unterdrücken, weil rauschende Pixel wesentlich besser zu erkennen sind. Natürlich müsste man dann nach der Rauschentfernung wieder interpolieren.
Ich glaub aber nicht, daß du nach dem Zurückinterpolieren wieder das Gleiche hast wie vor dem Interpolieren. Wenn dann gleich die RAW-Daten nehmen - das Format kann ja nicht all zu kompliziert sein - da werden die Pixels einfach hintereinander liegen. Kannst ja mal den UFRAW, UCRAW oder RAWIO Entwickler anschreiben - die können da sicher weiterhelfen.

Glaubst du wirklich, daß es einfach ist bei einzelnen Rot, Blau und Grün Pixeln ein Rauschen zu erkennen und zu kompensieren? Wie arbeiten denn die Entrauscher bei den vorhandenen RAW-Konvertern - vor oder nach dem Interpolieren?

Kennst du einen guten Entrauschungsalgorythmus?
kugelfisch ist offline   Mit Zitat antworten
Sponsored Links
Alt 20.06.2006, 23:19   #6
harumpel

Themenersteller
 
 
Registriert seit: 07.03.2006
Ort: Helmstedt / Wolfsburg
Beiträge: 1.166
@RainerV

dcraw ist bestimmt sehr nett, wenn man die Möglichkeiten auszreizt, mich interessiert zZ aber weniger die praktische Anwendung, als das Experimentieren mit eigenen Filtern. Und da wäre es am schönsten, wenn ich die Daten roh in Java einlesen könnte.

Übrigens, gibt es in dcraw wirklich einen Parameter, der es den nicht interpolierten Inhalt der Bayer-Matrix ausgeben läßt? Ich habe bereits "-o 0" probiert, aber es kommt kein Raw raus (wie angegeben).


@kugelfisch

Zitat:
Ich glaub aber nicht, daß du nach dem Zurückinterpolieren wieder das Gleiche hast wie vor dem Interpolieren.
Ich will ja auch gar nicht das Gleiche haben. Ich will Rauschen entfernen. Und biliear zurückinterpolieren schaffe ich auch noch

Zitat:
Kannst ja mal den UFRAW, UCRAW oder RAWIO Entwickler anschreiben - die können da sicher weiterhelfen
Ich glaube das ist eine gute Idee. Schade dass jrawio nicht funktioniert. Mit einer *.cr2 Datei von der EOS 350d läufts übrigens einwandfrei


Zitat:
Glaubst du wirklich, daß es einfach ist bei einzelnen Rot, Blau und Grün Pixeln ein Rauschen zu erkennen und zu kompensieren?
Ja Bin mir ziemlich sicher. Durch die Interpolation wird der Datensatz "interpretiert" und es wird schwieriger Ausreißerpixel zu erkennen.

Zitat:
Wie arbeiten denn die Entrauscher bei den vorhandenen RAW-Konvertern - vor oder nach dem Interpolieren?
Ich gehe stark davon aus, daß sie vor dem Interpolieren entrauschen. Nach dem Interpolieren kann man eigentlich nicht mehr vernünftig entrauschen, sondern nur noch "Problemzonen" erkennen und glattbügeln. Schön ist das nicht.


Zitat:
Kennst du einen guten Entrauschungsalgorythmus?
Kommt darauf an, für welchen Zweck. Wenn Du Dich damit beschäftigen möchtest, probiere als erstes den 3x3 Median. Der bügelt Rauschen wie es bei der 5D & 7D bei ISO 800 (und mit Einschr. 1600) vorkommt recht gut weg, ohne Kanten anzugreifen. Allerdings leiden Details die kleiner als 5 Pixel groß sind stark darunter.
harumpel ist offline   Mit Zitat antworten
Alt 20.06.2006, 23:32   #7
RainerV
 
 
Registriert seit: 22.02.2006
Beiträge: 11.388
Zitat:
Zitat von harumpel
Übrigens, gibt es in dcraw wirklich einen Parameter, der es den nicht interpolierten Inhalt der Bayer-Matrix ausgeben läßt?
Kann ich Dir nicht sagen. Aber UFRAW, das ja auf dcraw zurückgreift, erlaubt die Auswahl von vier verschiedenen Interpolationsalgorithmen. Also müsste es ziemlich einfach sein im Souce-Code von UFRAW die Stelle zu identifizieren, wo diese Interpolation der Rohdaten durchgeführt wird - und dort muß das Programm die Rohdaten haben. Ich meinte wirklich den Source-Code von UFRAW und DCRAW, die Du m.E. gut zur Implementation Deiner eigenen Ideen heranziehen könntest - ohne selbst alles entwickeln zu müssen.

Rainer
RainerV ist offline   Mit Zitat antworten
Alt 21.06.2006, 06:41   #8
Sebastian W.
 
 
Registriert seit: 10.09.2005
Ort: Hamburg
Beiträge: 1.178
Zitat:
Zitat von harumpel
Übrigens, gibt es in dcraw wirklich einen Parameter, der es den nicht interpolierten Inhalt der Bayer-Matrix ausgeben läßt?
Ja gibt es, den Dokumentation-Modus

Wenn du selbst mit den RAW-Daten arbeiten möchtest, findest du hier im Forum oder im DSLR-Forum (weiß nicht mehr) ein sehr einfaches kleines und leicht verständliches Programm im Quellcode um auf Bildpunktebene zu manipulieren, z.B. zur Darkframe-Subtraktion usw.
__________________
Bei meinen Postings berufe ich mich auf den § 20 StGB
Sebastian W. ist offline   Mit Zitat antworten
Alt 21.06.2006, 23:52   #9
harumpel

Themenersteller
 
 
Registriert seit: 07.03.2006
Ort: Helmstedt / Wolfsburg
Beiträge: 1.166
Zitat:
Also müsste es ziemlich einfach sein im Souce-Code von UFRAW die Stelle zu identifizieren, wo diese Interpolation der Rohdaten durchgeführt wird - und dort muß das Programm die Rohdaten haben.
Tja, für Leute, die regelmässig C++ nutzen, dürfte es einfach sein. Für mich nicht. Naja, ich sehe schon, ich werds versuchen müssen.


Zitat:
harumpel hat folgendes geschrieben:
Übrigens, gibt es in dcraw wirklich einen Parameter, der es den nicht interpolierten Inhalt der Bayer-Matrix ausgeben läßt?

Ja gibt es, den Dokumentation-Modus
Dieser Modus gibt aber nur die Grauwerte an, da muss man noch irgendwie die Matrix drüberlegen. Vielleicht wäre das auch ein gangbarer Weg.

Zitat:
Wenn du selbst mit den RAW-Daten arbeiten möchtest, findest du hier im Forum oder im DSLR-Forum (weiß nicht mehr) ein sehr einfaches kleines und leicht verständliches Programm im Quellcode um auf Bildpunktebene zu manipulieren, z.B. zur Darkframe-Subtraktion usw.
Hab alles abgesucht und das kleine Programm mit Quellcode nicht gefunden. Dafür aber immerhin Rawdeal und eine weitere Java-Raw-Api.


Nachtrag: Die Java-API "RawLib for Java" unterstützt "unser" Raw-Format !! Bin gerade dabei das schöne Sample-Programm auszuprobieren. Werde jetzt wohl kaum noch selbt irgendwelche I/O-Routinen basteln.
harumpel ist offline   Mit Zitat antworten
Alt 22.06.2006, 08:12   #10
kugelfisch
 
 
Registriert seit: 14.03.2006
Ort: Karlsruhe
Beiträge: 245
Ich hab mir jetzt mal die DCRaw Source runtergeladen. Das ist kein C++ sondern C und besteht auch nur aus der dcraw.c

Die wesentlichen Teile sollten auch nach Java portierbar sein - aber nur wenn Laufzeit so absolut keine Rolle spielt

Wenn du darin nicht findest was du sucht, solltest du mal Überlegen, ob die Aufgabe nicht vielleicht doch ein bischen zu Anspruchsvoll ist (ist nicht böse gemeint)

Hat die Bayer-Matrix eigentlich bei allen Sensoren die gleiche Reihenfolge?
kugelfisch ist offline   Mit Zitat antworten
Sponsored Links
Antwort
Startseite » Forenübersicht » Kreativbereich » Nach der Aufnahme » Minolta RAW dekodieren


Forenregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:31 Uhr.