Tonwertkurvenpaket zum Download

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Beitragvon gehtnix » 16.11.2009, 01:20

naddel hat geschrieben:........Aber: 2 Tage nichts daran gemacht und schon vergessen......

Mit Deinem Skript, dazu die Kurven von Sinter, das Skript von stift und auch meine Skripte, da habe ich mir auch Gedanken darüber gemacht wer sich das alles noch merken kann.

Ich nicht! Und ich will es mir auch nicht merken! Da sollte mir die Konsole alles lesbar und verständlich liefern!

Ich möchte damit zum Ausdruck bringen dass die Konsole so einfach wie möglich gestaltet werden sollte. Damit meine ich mich selbst auch.

Womit mit ich wieder bei dem Thema der Rückmeldungen bin.
Nehme ich jetzt HDR-Hper her, so ist es für mich "logisch" wie die Tasten gelegt sind. Genau so sagt es stift ja zu seinem Menü bei TagMe auch. Aber der User der das Skript benutzt mag anderer Ansicht sein. Und wenn der User sich nun nicht rechtzeitig meldet, so wird das Menü so gebaut wie der Skripter meint es gut getroffen zu haben.

Hier also der Aufruf an die User sich mal zu dem Thema Konsole äußern.

Der mod kann den Beitrag auch verschieben.

gruß gehtnix
Bild
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 13:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS50 101b

Zur Entwicklung

Beitragvon Sinter » 17.11.2009, 20:01

Hallo,

die Entwicklung fasziniert mich ebenfalls. Schön wie sich immer wieder neue Ideen ergeben. Entsprechend können wir auch alles immer weiter optimieren.

Bracketing wäre ja nun auf zwei Arten realisierbar: Einerseits zuerst EINE Aufnahme und diese dann mittels mehrerer Curves entwickeln, oder aber andererseits mittels jeder einzelnen Curve eine neue Aufnahme machen. Was ist leichter realisierbar und wo liegen jeweils die Vorteile...



@ msl:

Auch Gehtnix hat schon den Wunsch nach Beispielsbildern geäußert, was sicherlich auch großen Sinn macht um den Usern überhaupt zu vermitteln, wie Tonwertkurven allgemein und speziell anwendbar sind. Ich werde mich bei Gelegenheit darum kümmern und gerne können wir auch vorher besprechen, in welcher Form und mit welchen Beispielen, damit wir die Sache für alle User verständlich rüberbringen.

Die Masse an Kurven:
Okay, da macht es nun Sinn, besser zu strukturieren:

Einerseits gibt es einzelne Kurven, welche für die Allgemeinheit interessant sind weil Funktionalitäten erweitert werden (z. B. ISOBoost, evtl. auch Zeitung )

Zweitens gibt es Kurven, die eher verspielt kreative Ergebnisse liefern. (z. B. Stufen, Zebra)

Und drittens gibt es auch Kurven, welche zunächst rein für Spezialfälle/Spezialziele gedacht sind, wie die SkyLight-Kurven. Die muss man aber auch nicht alle ausprobieren. Nachdem es bei diesen SkyLight-Kurven um eine Feinsteuerung geht und es hier Sinn machen kann, die Parameter in kleinen Schritten variieren zu können, resultiert halt einfach die große Anzahl an SkyLight.Kurven, obwohl von all meinen bisherigen Kurven diese SkyLight-Kurven mit Sicherheit am wenigsten genutzt werden. Nur FALLS sie von jemandem sinnvoll genutzt werden können, dann sicher gerade weil der User sich hier anhand der drei Parameter die für seine Belichtungssituation/-wünsche geeignetste Kurve aussuchen kann. Okay, wenn zukünftig Bracketing möglich ist, dann ist es noch leichter, sich einfach ein Bündel an Kurven herauszusuchen und dann ganz elegant auch eine größere Menge an Kurven zu händeln.

Du hast geschrieben:
„Ich hätte nicht gedacht, dass die Kurvenfunktion mal so in den Mittelpunkt rückt. Die ISOBoost-Kurven halte ich schon jetzt für eine der innovativsten CHDK-Erweiterungen.“

Es hatte sich halt früher nur noch niemand so richtig den Tonwertkurven angenommen. Daher wollte ich hier die Sache ein wenig forcieren, auch in dem Interesse, dass auch eine Ladelösung realisiert wird. Ganz besonders gefreut hat mich dann nämlich wie plötzlich Naddel hier mein Wunschdenken aufgegriffen hat, sich ideenreich der Sache annahm und hier mit vollem Elan großartige Lade- und Handling-Lösungen realisiert, von denen ich bisher nur träumen durfte. Nachdem Naddels Ladelösung offenbar funktioniert, kam in mir nun auch noch der Curve-Bracketing-Wunsch auf, der sich nun sicherlich ebenfalls noch realisieren lässt.

Naddels elegante Lösungen ermöglichen nun auch das bessere Handling einer größeren Kurvenanzahl. Wir könnten nun eigentlich sogar noch einen Schritt weiter denken: Angenommen, man bräuchte sich gar nicht mehr mit dem Laden und dem Handling von Kurven herumschlagen, indem man bei CHDK nicht nur einzelne Kurven, sondern auch das Abarbeiten von Kurvenbündeln einfach hinter anwählbaren Funktionalitäten verbirgt. Also dass der User gar nicht mehr mitbekommt, dass da im Hintergrund die Kamera mit Tonwertkurven hantiert.

Eine Sonderstellung hat ISOBoost. Als erweiterte Funktionalität, bei der es Sinn machen könnte, sie gesondert anzusteuern.




@Naddel:

Vollkommen richtig, die Beschreibungsliste war schnell gestrickt um dir die Gelegenheit zum Testen zu geben. Indes ist auch deine Idee sehr durchdacht, wie man bei SkyLight-Parametern den Normalwert mit integrieren kann und sich davon ausgehend nach unten und oben orientieren kann. Ein sehr guter Vorschlag von dir, danke! Das greife ich gerne auf und werde demnächst die Beschreibungsliste dahingehend verbessern, auch wenn man keine komplette Anleitung in 24 Zeichen reinbringt.
Hm, da gibt es doch noch so ein Unterverzeichnis \CHDK\BOOKS. Das würde uns doch sogar die Chance eröffnen, einen kurzen Anleitungs-Text zu verfassen. Vielleicht ließe sich damit zukünftig sogar eine Art Kontext-Hilfe realisieren, oder zumindest ein Mini-Kompendium zu den einzelnen Curves/Bündeln. Mindestens könnte ich eine kleine Anleitung verfassen, die der User mit der normalen CHDK-Textbetrachtung abrufen könnte, aber so wie ich dich kenne, Naddel, würde ich mich nicht wundern wenn dir auch hier wieder eine elegant durchtriebene Lösung einfällt, wie die User bedienungsfreundlich auf einen Hilfstext zugreifen könnten. :-)

Eine Sache ist mir in einem anderen Zusammenhang noch eingefallen. Du hattest letztens gemutmaßt, die originär verfügbaren CHDK-Tonwertverstärkungen „+1EV“ und „+2EV“ wären durch meine ISOBoost-Kurven abgedeckt. Wenn ich das Handbuch richtig verstanden habe, dann heben aber die beiden CHDK-originären EV-Korrekturen nicht das gesamte (!) Tonwertspektrum um eine bzw zwei EV-Stufen an, sondern ausschließlich nur die dunklen Bildbereiche, während meine ISOBoost-Kurven das Gesamtbild beeinflussen.

Du sprichst an, der Weißabgleich ist ebenfalls eine Tonwertkurve. Hm, das müsste richtig sein. Du meinst also, es sind dann bei uns Tonwertkurven hintereinandergeschaltet, nur wissen wir (noch) nicht, in welcher Reihenfolge die Kamera arbeitet, und ob man das erkennen kann? Das ist ein interessanter Gedanke und damit hatte ich mich noch gar nicht befasst.
Ob also zuerst der Weißabgleich erfolgt, und erst danach unsere Tonwertkurven angewendet werden, oder
zuerst unsere Tonwertkurven, und danach der Weißabgleich. Oder aber ob vielleicht der Weißabgleich bei Tonwertkurvennutzung gar nicht angewandt wird. Aber so wie deine Reihe aussieht scheint der Weißabgleich auf jeden Fall mit verrechnet zu werden.
Insgesamt muss ich darüber erst noch schlafen und mir überlegen, auf welche Art ich das alles am besten testen könnte, denn die Frage ist berechtigt.


Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 14:16
Wohnort: München

Vergleich Systemkurven und ISOBoost-Kurven

Beitragvon Sinter » 20.11.2009, 12:49

Hallo Naddel,

wie die Systemkurven im Detail eingestellt sind, das ist leider nirgends domumentiert. Im Handbuch ist bei den Systemkurven (+1Ev und +2Ev) nur von einer "Erhöhung der Schattendetails (!) um x Belichtungswerte" die Rede. Daher meine Vermutung, die Systemkurven beschränken sich nur auf die Korrektur der dunkleren Tonwerte, wobei hier die Frage wäre, bis zu welchem Helligkeitswert der "Schattenbereich" für die Systemkurven festgelegt/definiert wurde.

Wenn ich in deinem interessanten Vergleichsmosaik in der mittleren Spalte das obere und das mittlere Bild betrachte, dann scheint kaum in der Fläche ein Unterschied zu bestehen, aber es scheint rechts oben über dem Kabelband der helle Überhang (mit den beiden kleinen waagrechten Strichen übereinander) mittels meiner ISOBoost +2Ev Kurve etwas heller zu sein als mittels der Systemkurve +2Ev.

Dein Originalbild scheint wenig helle Anteile zu besitzen. Es könnte also sein, dass bei den Systemkurven der "Schattenbereich" bis in die mittleren Helligkeitswerte hineingeht/hineindefiniert wurde. Insofern wäre nachvollziehbar, dass bei deinem Beispielsbild die Systemkurve annähernd zum gleichen Bildergebnis führt, wie meine +2Ev ISOBoost-Kurve. Bei Bildern mit mehr Helligkeitsanteilen müssten indes die Systemkurven gegenüber den ISOBoost-Kurven in der Helligkeit etwas deutlicher nachlassen.


Optisch scheinen die beiden +1EV-Bilder etwa gleich hell zu sein. Wenn ich mit einem Bildbearbeitungsprogramm mir wieder jeweils die Stelle rechts oben mittels Pipette als RGB-Werte anzeigen lasse, dann scheint ISOBoost auch hier ein wenig heller zu sein als die Systemkurve.

Viele Grüße,
Sinter
Zuletzt geändert von Sinter am 20.11.2009, 17:14, insgesamt 2-mal geändert.
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 14:16
Wohnort: München

Beitragvon msl » 20.11.2009, 16:18

Hallo Sinter,

wenn Ihr mehr zu den Kurven-Funktionen erfahren wollt, müsst Ihr Euch im internationalen Forum einlesen. In unserem Handbuch ist nur eine prinzipielle Grundbeschreibung zu finden.

Link zur Kurven-Funktion: http://chdk.setepontos.com/index.php/topic,932.0.html

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4539
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Kurvenliste für Naddel

Beitragvon Sinter » 20.11.2009, 16:31

Hallo Naddel,

die Kurvenliste curve.lst habe ich überarbeitet und daher heute ein kleines Update 1.2.3.2 zur Verfügung gestellt:

viewtopic.php?t=1543&start=0


Lass mich bitte wissen falls es noch weitere Beschreibungen zu verbessern gibt. Ich bin gerne bereit, die Liste zu optimieren.


Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 14:16
Wohnort: München

Kompliziert

Beitragvon Sinter » 20.11.2009, 17:04

Hallo msl,

vielen Dank für den Hinweis. Das ist dort zwar nicht alles leicht zu verstehen aber es sieht aus, als würde sogar an einer 12-Bit-Lösung gearbeitet.

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 14:16
Wohnort: München

Syscurves

Beitragvon naddel » 20.11.2009, 20:59

Hallo,
Ich muß das nochmal überprüfen wahrscheinlich habe ich eine veraltete syscurves verwendet,
da ich sie zwischendurch zu Testzwecken gelöscht hatte.

Jedenfalls gabs im Mai ein Update mit neuen Kurven zu +ev1 und +ev2.
Im Downloadpacket des Kurveneditors sind aber noch die alten enthalten.

@msl
Da hab ich mich die letzten Tage durchgewühlt aber das ist eigentlich nicht mein Thema.
Auch der Zusammenhang mit dem alten Kurventhread ist verloren gegangen.
CHDK-Tonwertkurven

toinech hat geschrieben:SYSCURVES update attached.
Changed based on A610 response curves.
The previous version was incorrectly configured
Should help reduce significantly the high areas blown out.


http://chdk.setepontos.com/index.php/topic,932.msg33449.html#msg33449

Unten ein screenshot mit den alten syscurves links und den neuen rechts

Bild

@sinter
Da die syscurves offensichtlich beim laden so behandelt wird, daß jede Farbe
das gesamte Spektrum ändert und man durch die Umschaltung verschiedene Farbenkurven
aktiviert könntest Du, wenn Du keine Farbverschiebungen machst mit Hilfe von syscurves
(überschreiben) mehrere Kurven gleichzeitig laden und testen. Die Kurven auf der Diagonalen
scheinen mir für das AutoDR zu sein um je nach Bedarf den mittleren Bereich zu strecken oder zu stauchen


Um die Verwendung mehrer Kurven bei der Entwicklung eines Bildes zu ermöglichen habe ich die oben eingestellte br_dev02 um die Parameter 10-13 ergänzt.

Wegen der zahlreichen Einstellmöglichkeiten bezüglich der raw-Dateinamen im Raw-Menü ist
es schwierig die zuletzt erstellt RAW zu finden. Das verzögert den Skripstart um so mehr je mehr
Ordner und Dateien sich unter /dcim befinden.
Außerdem sollte darauf geachtet werden, daß sich keine Fremddateien wie Kopie von....
usw. in den /DCIM Verzeichnissen befinden.

Das Skript erwartet CRW als suf- oder präfix.
Als Custom-Kurve muß std.CVF eingestellt sein.

Der Kurvenwechsel wird mit Parameter 10 "Kurven setzen" eingeschaltet.

Mit Parameter 11 kann eine Nummer 0-99 eingegeben werden.
Sie dient zur Auswahl eines Verzeichnisses auf /CURVES in der Form /CURVES/BRACKT##
eine 1 verweist also auf /CURVES/BRACKT01
Dorthin müssen die zu verwendenden Kurven zuvor kopiert werden.
Vorsicht! die Kurven werden in der Reihenfolge verwendet in der sie auf das Unterverzeichnis kopiert wurden.

Ist der Parameter 12 = 1 wird der Exif-Eintrag für den Kamerahersteller
mit dem 1. und den 4 letzten Zeichen aus dem Namen der Kurvendatei überschrieben.
Dieser Eintrag kann mit den meisten Bildprogrammen leicht angezeigt werden. Das erleichtert
die Übersicht beim ausprobieren ungemein.

Mit Parameter 13 kann die Nummer der zu verwendenden RAW-Datei angegeben werden.
Zur Eingabe großer Zahlen bei den Skriptparametern sei an den Zoomhebel und die diversen half-press Kombinationen HB Tastaturkürzel erinnert.
Ist Param 13=0 wird die RAW mit der höchsten Nummer verwendet.

Ist 10 aus wird auch 11 und 12 nicht verwendet

Die logs befinden sich unter /logs.
Als Namen haben sie die Nummer der letzten in einem Skriptdurchlauf erstellten Datei.
der Anhang -# dient als Überschreibschutz falls schon eine Datei dieses Namens vorhanden ist und wird in diesem Fall erhöht.
@msl Klasse Lösung

Wenn der Kurvenwechsel mit Param 10 eingeschaltet ist werden vorerst einige andere Parameter mit Vorgabewerten überschrieben und nicht verwendet.

Am einfachsten macht man mit eingeschalteter Raw-Speicherung und den o.g. Vorgaben sowie der Kuvenoption "none" eine Aufnahme und startet danach das Skript.

Bei der Aufnahme wird dann eine unmanipulierte .jpg und eine CRW erstellt.
Wenn keine Nummer in Param 13 eingestellt wurde wird diese CRW verwendet um mit den angegebenen Kurvendateien JPGs zu entwickeln.

Für diesen Fall sind folgende Einstellungen nötig.
Die geklammerten Werte können belassen werden, da die sie im Fall von Kurvenwechsel so gesetzt werden oder keine Berücksichtigung finden.
Code: Alles auswählen
 
 1 Schrittweite      [x*1/3Ev]   (??)
 2 Anzahl Bilder      [n]        (1)
 3 Entwicklung? [0=nein][1=ja]   (1)
 4 Bildmischung [0=sum] [1=ds]   (?)
 5 RAWs löschen [0=nein][1=ja]   (0)
 6 WAV löschen  [0=nein][1=ja]   (0)   
 7 Tonwertkurve [0=nein] [1-4]   (1)
 8 nur Entwickl.[0=nein][1=ja]    1   
 9 Shoot-Pause  [0=nein][1=ja]    0
10 Kurven setzen[0=nein][1=ja]    1
11 #Kurvenverz.     [0 bis 99]    0-99
12 Kurve in Exif eintr. [1=ja]    1
13 Startbildnummer  [keine=<1]    0


Ist nur Entwicklung aus kann die Aufnahme aus dem Skript heraus über [set] erfolgen.
Dabei wird auf keine Kurve geschaltet und die Aufnahme erfolgt nach einer kurzen Verzögerung.

@msl
Die while Schleife in Deiner getImageDirs ist wohl ein Überbleibsel und verbrät in dieser Form nur Zeit.
Die Lösung unten entfernt unerwünschte Verzeichnisse und Dateien, ich weiß aber nicht ob sie allgemeingültig ist.

Auch habe ich festgestellt, daß die Rückmeldungen vom Dateisystem bei mir etwas träge sind. D.h. eine neuerstellte Datei wird erst nach einer gewissen Wartezeit gefunden. Es könnte also sein, daß es bisher relativ zuverlässig funktioniert hat weil die while-Schleife das ausbremst.

Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
function getImageDirs()

    local dcimList = os.listdir("A/DCIM", false)

    local i=1

    if(dcimList) then

        table.sort(dcimList)

        while i<=#dcimList do

            if string.upper(string.sub(dcimList[i],4))~="CANON" then

            table.remove(dcimList,i)

            else i=i+1 end

        end

    end

return dcimList

end

 
Erstellt in 0.003 Sekunden, mit GeSHi 1.0.8.9


Gruß naddel
Dateianhänge
CurvSwap.lua
Experimentell!! Abgewandelte br_dev02 zur Verwendung
mehrerer Kurven update ev
(14.31 KiB) 600-mal heruntergeladen
Zuletzt geändert von naddel am 16.12.2009, 09:53, insgesamt 8-mal geändert.
S2 1.00f mit aktueller DE Version
Benutzeravatar
naddel
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 156
Registriert: 26.01.2009, 20:42
Kamera(s): G3 s2 ixusii

re: Kurvenliste und anderes

Beitragvon naddel » 21.11.2009, 23:02

Hallo Sinter,

Ich wollte nur wissen was andere dazu meinen, aber nach meinem Geschmack ist es so besser.

Beim Testen der Bracketing-Funktion mit dem abgewandelten msl-Skript

http://forum.chdk-treff.de/viewtopic.php?p=13944#13944

und Deinen Skylight-Kurven ist mir aufgefallen, daß alle Kurven, die auf 95 enden das selbe Ergebnis liefern. Du schreibst Endnummer 5 entspricht der Normalkurve. Heißt Normalkurve es wird nichts gemacht?
Muß das so sein? Mache ich einen Denk- oder Anwendungsfehler?
Ich hatte extra ein Bild mit Dunst und Wolken verwendet.

Bild

<l>

Da sich nicht jeder mit dem Kurveneditor befassen will habe ich mal die Kurve zur Schattenaufhellung
von C4 87 "C4krass2.CTC"
durch den Kurveneditor gejagt und stelle sie unten als shadowup.cvf ein.
Die scheint mir in vielen Situationen bei starker Sonne und Schlagschatten recht brauchbar.

http://forum.chdk-treff.de/viewtopic.php?p=11178#11178

Gruß naddel
Dateianhänge
shadowup.CVF
Kurve zu Aufhellung von Schatten
(8 KiB) 116-mal heruntergeladen
S2 1.00f mit aktueller DE Version
Benutzeravatar
naddel
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 156
Registriert: 26.01.2009, 20:42
Kamera(s): G3 s2 ixusii

Beitragvon msl » 23.11.2009, 12:50

Hallo naddel,

ich wollte mal die Möglichkeit, per Skript zwischen Aufnahme und Wiedergabe umzuschalten, zur Diskussion stellen.

set_record() 0(false)=Wiedergabe, 1(true)=Aufnahme

Bisher wird im Kurven-Skript (und auch im erweiterten "HDR für Arme"-Skript) "nur" gemeldet, dass man umschalten soll. Diese Umschaltung könnte aber automatisch erfolgen. Ich würde es optional einbauen, also mit einem weiteren Parameter bestimmbar machen, ob automatisch oder manuell umgeschalten werden soll. Wichtig ist aber, dass nach Skript-Ende der Ursprungszustand hergestellt wird.

Man sollte aber auch nicht verschweigen, dass solche Befehle einen bewussten Umgang mit dem Skript erfordern.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4539
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon msl » 23.11.2009, 14:32

Hallo naddel,

ich habe die Funktion gegen Deine ausgetauscht. Es sollte eigentlich allgemeingültig funktionieren. Danke für die Analyse.

Die Einarbeitung von Kurven-Bracketing ist sehr schön. Ich würde aber vorschlagen, einen neuen Thread mit diesem Skript zu beginnen, damit es auch eine entsprechende Würdigung findet. Du solltest auch einen eigenen Datei-Namen vergeben.

In diesem Skript werden so viele Dinge vereint, da wird auch eine zusammenfassende Beschreibung benötigt. Wir verlieren hier sonst den Überblick.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4539
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon naddel » 23.11.2009, 16:39

Hallo msl,

Ich wollte das erstmal hier lassen bis es Sinter und Pterozaurus getestet haben.
Letztlich in curves auf ein Verzeichnis klicken und damit den Kurvenwechsel aufrufen.
Die Parameterübergabe geht wohl nur über eine Datei wenn man die cfg nicht überschreiben will.

Die Lösung mit brackt## gefällt mir auch nicht.
Vielleicht auf nummerische Endstellen vergleichen dann kann man vorne einen
sinnvollen Namen vergeben. Ist halt mehr Aufwand.

Der eigentliche Grund warum ich es noch hier haben will ist das merging.
Bei setepontos hab ich gelesen daß die Kurven ursprünglich auch auf die Raws
angewendet wurden. Eine solche alte Version wollte ich noch suchen.
Denn dann sollten HDRs aus einem Bild möglich sein wie Du das Anfang des Jahres angedacht hattest.

raw1 schießen
raw1 laden
mit kurve ev+
mit merge raw2 speichern
raw1 laden
mit kurve ev-
raw2 dazuladen
raw1 dazuladen
Durchschnitt
Entwickeln mit kleiner Farbverschiebung

Ich hab aber kurzrfristig wohl keine Zeit zum ausprobieren.

Gruß naddel
S2 1.00f mit aktueller DE Version
Benutzeravatar
naddel
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 156
Registriert: 26.01.2009, 20:42
Kamera(s): G3 s2 ixusii

SkyLight-Kurven, Schlagschatten-Kurven

Beitragvon Sinter » 24.11.2009, 15:08

Hallo Naddel,

dein Vorschlag bezüglich der Curveliste mit deiner Erklärungssystematik für die SkyLight-Kurven war auch für mich überzeugend. Ich persönlich bin da schon mal ein wenig betriebsblind und bin froh um jeden Tipp, wie man den Usern eine möglichst sinnvolle Info an die Hand geben kann. Danke! Verbesserungsvorschläge, Kritik und Wünsche nehme ich gerne an.


Deine Beobachtung ist völlig korrekt, dass alle SkyLight-Kurven die auf -95 enden gleich sind. Noch konkreter: Sie entsprechen der normalen neutralen Tonwertkurve, ändern also nichts am Bild. Diesen Sachverhalt sollte ich wohl noch deutlicher in meiner PDF-Erklärung herausarbeiten. Ich frage mich noch wie ich diese Info auch in der Curveliste einarbeiten könnte. Vielleicht bei den -95 Kurven auf Parameter verzichten und hineinschreiben "=Neutrale Kurve"?

Grundsätzlich ist es so, dass Kurven(teil)verläufe die mit einer Ziffer größer als 5 gekennzeichnet sind, konkav verlaufen (im Teilbereich der Kurve die oberhalb des Schwellwerts liegt), während Kurven mit Ziffern kleiner als 5 entsprechend konvex verlaufen. Die Ziffer 5 als Kennzeichnung der linearen Fortführung der Kurve ergibt in Kombination mit Maximalpunkt 9 (ergibt die Endung -95) automatisch die neutrale Tonwertkurve, welche keinerlei Änderung des Bildes bewirkt.

BIS zum Schwellwert wird mittels der SkyLight-Kurven grundsätzlich NICHTS am Bild verändert, und AB dem Schwellwert hängen die Veränderungen von der Wahl des Kurvenverlaufs ( >5 = konkav = oberhalb des linearen Verlaufs; <5 = konvex = unterhalb des linearen Kruvenverlaufs) und der maximal ausschöpfenden Helligkeit ab.

Eigentlich könnte man sich diese neutrale Kurven bei den SkyLight-Kurven sparen, aber falls ein Bracketing durchgeführt wird macht es (hoffentlich) Sinn, wenn in der Belichtungsreihe auch diese neutrale Kurve abgearbeitet wird. Daher habe ich sie jeweils in der Curve-Systematik der Kurvenbündel belassen.


Mit Kurven für Schlagschattenbilder hatte ich mich bislang erst ansatzweise befasst. Grundsätzlich ist das ebenfalls ein sehr interessantes Thema mit vielen Parallelen zu den SkyLight-Kurven, nur unter umgekehrtem Vorzeichen. Während ich bei SkyLine die hellen Bereiche (Himmel) manipuliere, gehört bei Schlagschatten das Augenmerk auf die Manipulation der dunklen Bereiche gerichtet. Die "C4krass2.CTC" werde ich mir gerne mal ansehen.
Schlagschatten kann man recht gut gezielt aufhellen sofern die Helligkeitsunterschiede zu den hell ausgeleuteten Bereichen möglichst groß sind. Da wäre im Extremfall sogar ein Sägezahn-Tonwertkurvenverlauf interessant.
Je mehr sich jedoch die originären Tonwerte von Schlagschattenbereich und Ausleuchtbereich überschneiden, um so schwieriger wird die Trennung in zwei eigene Kurventeilbereiche. Dann bewirkt eine Aufhellung des Schlagschattens automatisch einen verstärkten Kontrastverlust der helleren Bereiche.
Gedanklich verfolge ich hier derzeit auch noch einen weiteren anderen Ansatz, wobei aber Zielkonflikte auftreten und ich noch experimentieren und suchen muss, ob sich ein sinnvolles Gleichgewicht finden lässt.

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 14:16
Wohnort: München

Syscurve-Perspektiven

Beitragvon Sinter » 24.11.2009, 15:16

Hallo Naddel,

deine Erkenntnisse bezüglich Syscurves sind äußerst interessant, dass wohl jeder Farbkanal dieser speziellen Curve auf das gesamte Spektrum wirkt. Wenn ich richtig verstehe, dann könnte man bei Austausch der einzelnen enthaltenen Farbkurven mittels einer manipulierten Syscurve.cvf den CHDK-Einstellungen „+1EV“ „+2EV“ neue Kurven zuordnen, die man dann innerhalb des normalen CHDK-Menüs abrufen könnte.

Falls die Kurven auf der Diagonalen zwei Alternativen für AutoDR sind, dann ist noch offen wie denn bei AutoDR automatisch zwischen diesen beiden Kurven entschieden wird, also welcher Auswahlmechanismus existiert. Ob hier eine Art Histogrammauswertung durchgeführt wird, oder auf welche Weise bei Aktivierung von AutoDR bestimmt wird, welche der beiden Kurven zur Anwendung kommt.
Falls hier bei AutoDR eine Histogrammanalyse stattfindet, dann würden sich uns vielleicht noch andere sehr interessante Möglichkeiten bieten. Vielleicht könnte man sogar realisieren, dass je nach Histogrammverlauf (anhand bestimmter Kriterien) in der Kamera entschieden wird, welche der vier manipulierten Syscurve-Kanäle als Tonwertkurve zur Anwendung kommt. Das wäre verdammt genial und würde uns ganz neue Ansätze eröffnen. Im Zusammenhang mit dem Histo-Bracketing-Skript habe ich schon mal daran gedacht, dass man vielleicht mittels Skript soetwas realisieren könnte. Da habe ich noch ein paar Gedanken auf Lager.


Das Bracketing-Skript muss/werde ich noch genauer testen.


Sehr gut gefällt mir die Überlegung in der Kamera ein Pseudo-HDR erzeugen zu können. Ich habe indes noch nie probiert, wie der Vergleich zwischen dieser Durchschnittsbildung und einer normalen Pseudo-HDR-Generierung ausfällt. Ich wünschte es wäre bei qtpfsg.. nach dem Laden eines RAW-Bildes mit ein oder zwei Klicks möglich, solche Pseudo-HDRs zu erstellen.
Was ich nicht ganz verstehe ist beim Merging zum Pseudo-HDR die Bedeutung deines letzten Punktes „Entwickeln mit kleiner Farbverschiebung“? Steckt da schon wieder ein genialer Gedanke dahinter?

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 14:16
Wohnort: München

Beitragvon pterozaurus » 24.11.2009, 17:20

Wouwh,
das msl/naddels skript br_dev2.lua funktioniert.
Bild mit RAW *.crw option machen (nicht *.dng da kommt nur Mist raus, das Skript läuft mit Warnung durch, kein Hänger!!) , alt modus, Parameter einstellen, Skript starten es wird ein Bild nach dem anderen mit den verschiedenen Kurven entwickelt..... super!
Älteres CRW Bild wieder auf die Karte geschoben und entwickeln lassen kein Problem!

Braucht zwar seine Zeit aber geht.
Bisher sind mir noch keine Unstimmigkeiten aufgefallen.

Viele Grüße
pterozaurus der demnächst den *.crw Ordner auf den Kopf stellt ;-)
SX220 HS; Fw. 101b; CHDK_DE 1.2.8 Rev. 2099
Ixus55:chdk ixus55_sd450-100c-1.0.0-DE
Benutzeravatar
pterozaurus
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 65
Bilder: 0
Registriert: 18.06.2008, 11:41
Kamera(s): SX220 HS
Ixus 55

Bracketing-Feedback / Syscurve

Beitragvon Sinter » 26.11.2009, 11:59

Hallo Naddel,

dein Bracketing-Skript funktioniert bei mir bisher sehr gut. Prima ist auch die Möglichkeit, mittels des Skriptes direkt eine Aufnahme machen zu können und mit den Tonwertkurven abzuarbeiten. Die Aufnahme funktioniert bei mir bereits ohne (!) [set]. Falls ich dich richtig verstanden hatte, dann meintest du ursprünglich in deinem Forenbeitrag, die Aufnahme gelingt nur über [set]. Mir persönlich ist es jedoch sehr lieb, wenn die Aufnahme (wie in deinem aktuellen Skript) allein durch den Start des Skriptes durchgeführt werden kann.

Auf meiner Wunschliste wäre nun noch, dass man per Parametereinstellung auswählen könnte, ob/dass der RAW-File nach der Durchführung des Kurvenbracketings wieder gelöscht wird, um bei Bedarf Speicherplatz auf der SD-Karte sparen zu können.

Ein großes Schmunzeln konnte ich mir nicht verkneifen als ich sah, dass du den Exif-Daten sogar noch Teile des Tonwertkurvennamens unterjubelst. Das ist ein verdammt frecher Geniestreich voller Raffinesse und eine sehr wertvolle Hilfe. Meine Hochachtung! Chapeau!

Bei einer Sache ist mir der Hintergedanke noch nicht ganz bewusst:
Da wird dann ein Rename des RAW-Filenamens durchgeführt, beispielsweise nach der Abarbeitung von (ich glaube) 5 Kurven erfolgt ein Rename "CRW_7632.CRW" to "CRW_7637.CR2".
Was steckt dahinter?


Die syscurve habe ich nun auch mal versucht zu manipulieren. In der Tat funktioniert die Sache offenbar genau so wie von dir vermutet. Den einzelnen 4 Kanälen kann man jeweils eine Gesamtkurve zuordnen. Wenn man nun auch noch die AutoDR-Steuerung löschen/ersetzen könnte, dann könnte der User vielleicht 4 vorbestimmte Kurven einsetzen, auf die man dann leichter zugreifen könnte. Egal ob irgendwelche Effekt-Kurven, oder aber auch das Viererbündel der ISOBoost-Kurven. Das könnte noch eine feine Sache werden.

Umgekehrt könnte ich mir auch vorstellen, die AutoDR-Funktion auszuweiten: Also die syscurve komplett einer AutoDR-Funktion zuzuordnen, bei der dann automatisch nicht zwischen nur 2 Kurven, sondern (evtl. nach einer Histogrammanalyse?) automatisch aus 4 Kurven eine passende Kurve ausgewählt wird. Aber das wäre dann schon wieder ein neues (faszinierendes) Thema.

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 14:16
Wohnort: München

VorherigeNächste

Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast