[Lua] HDR für Arme ;-)

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

Beitragvon Blindfuchs » 24.07.2010, 14:48

Hallo
Bin gerade eifrig dabei mit meiner Kamera SX 120 IS mit der CHDK Betaversion alle möglichen Sachen auszuprobieren.
Auf diesen Thread gestossen habe ich versucht HDR Entwicklung mit der Kamera zu machen.

Ich stosse dabei immer wieder auf folgendes Problem: Die HDR Belichtungsreihe läuft prima ab, die jpeg Dateien werden dabei in den Standartordner 100__07 abgelegt und sind direkt nach der Aufnahme auch einsehbar, auch das Ergebniss der zusammen geführten Bilder ist dort zu finden, soweit alles ganz toll. Desweiteren wird auf dem DCIM Ordner ein weiterer Ordner mit der Bezeichnung 100CANON angelegt worauf die Raw Dateien (CRW und WAV) abgelegt werden, aber nicht gelöscht werden wie im Sript eigentlich voreingestellt ist.

Das Problem tritt dann auf wenn ich die Kamera aus und wieder ein schalte. Dann habe ich anscheinend keine Bilder mehr auf der SD Karte weil nicht mehr vom Standart 100__07 gelesen wird.
Muss die Karte aus der Kamera nehmen den 100CANON Ordner löschen dann geht wieder alles.

Hat jemand eine Erklärung dafür oder noch besser eine Lösung?

Mit Sript schreiben kenn ich mich leider gar nicht aus.

Viele Grüße
Christoph
Powershot SX 120 IS chdk: sx120is-100b-1.1.0-DE-full_BETA_rev_428
SX 40 HS chdk: 100i-1.1.0-full_BETA_rev_978
Blindfuchs
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 28
Registriert: 12.07.2010, 00:39
Wohnort: Wangen

Beitragvon msl » 24.07.2010, 16:55

Hallo,

da ich nicht weiß, wie weit die Beta-Version der SX120 funktioniert, kann ich da auch nicht viel zu schreiben.

Versuche mal im CHDK-RAW-Menü "RAW-Datei in JPG-Ordner" zu aktivieren. Dann werden die erzeugten RAW-Dateien immer im dazugehörigen JPG-Ordner gespeichert. Vielleicht hilft das bei der Problemlösung.

Gruß msl

P.S. Wenn dieses Skript bei der SX120 durchläuft, spricht das für einen guten Portierungsstand.
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon Blindfuchs » 24.07.2010, 17:46

Hallo mls
Hab ich schon durch probiert, auch in Verbindung mit "speichere Raw" on/off. Hat zur Folge dass die Raw Dateien im Originalordner (100__07) zusammen mit den jpeg's abgespeichert werden und auch kein 100Canon Ordner mehr erstellt wird, allerdings bricht der Script nach dem Erstellen der festgelegten Bilderanzahl ab und meldet "keine Wav Datei... 262 bad argument #1 ...

Die Log datei sagt folgendes dazu:
07/24/10 - 18:22:54 raw merge

cam status: RAW: off | -2 Ev

number of pics: 3 step wide *1/3Ev: 6
develop: on average
RAW delete: on
WAV delete: on
complete

pic 1 of 3 0 Ev
pic 2 of 3 -2 Ev
pic 3 of 3 2 Ev

search for the last 3 files

Found only 0 files.

No RAW files for merging found!

search for the last wav file

No WAV file found!
No file for development!

Hab auch schon versucht den Befehl der den 100Canon Ordner erstellt, zu lokalisieren und dort dafür 100__07 eingegeben. Hat nichts gebracht, Sript bricht mit derselben Fehlermeldung ab.
Da ich vom scipt schreiben wie gesagt keine Ahnung habe weiß ich nicht ob diese diletantische herangehensweise überhaupt Sinn ergibt.
Mein Überlegung ging dahingehend dass der Script irgendwo den Befehl gibt den Ordner 1000CANON zu erstellen dies allerdings nicht nötig ist sondern einfach den vorhandenen im DCIM Ordner verwendet.

Wo wäre den der Befehl im Script wenn er denn da wäre ? Hab ihn bei meinen Versuchen in Zeile 73 vermutet "if string.upper(string.sub(dcimList[i],4))~="CANON" then "
das einzigste mal wo der Begriff CANON überhaupt auftaucht.

Ideen und Anregungen wären wünschenswert.
Gruß Christoph
Powershot SX 120 IS chdk: sx120is-100b-1.1.0-DE-full_BETA_rev_428
SX 40 HS chdk: 100i-1.1.0-full_BETA_rev_978
Blindfuchs
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 28
Registriert: 12.07.2010, 00:39
Wohnort: Wangen

Beitragvon msl » 24.07.2010, 19:18

Hallo,

das Skript beinhaltet keine Anweisung, Ordner anzulegen. Es sucht, wie du schon richtig erkannt hast, nur im DCIM-Ordner nach Bild-Ordnern. Diese müssen den Namen "CANON" enthalten. Dann werden in diesen Ordner(n) die letzten Bilder entsprechend der Endungen gesucht und verarbeitet.

Und hier liegt das Problem, neuere Kameras erzeugen offensichtlich eine modifizierte Ordnerstruktur, die den Namen "CANON" im Ordnernamen nicht enthält. Die "__07" steht hier für den Monat.

Die Suchroutine im Skript müsste entsprechend modifiziert werden. "Quick & dirty" könnte man die Zeile 73 wie folgt ändern.
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
if string.sub(dcimList[i],4,6)~="__" then
Erstellt in 0.005 Sekunden, mit GeSHi 1.0.8.9
Achtung ganze Zeile verändert! Keine Ahnung, ob das so funktioniert.

Es könnte sein, dass der Ordner 100CANON von CHDK angelegt wird (Müsste man mal im Quellcode nachkontrollieren.). Das wäre dann aber ein Fehler, weil sich auf die alte Ordnerstruktur berufen wird. Ohne Kamera kann man so etwas aber nur schwer nachvollziehen.

Um die RAW-Einstellung brauchst du dich nicht zu kümmern. Das übernimmt das Skript, sprich es überprüft vor Start den Ist-Zustand, stellt dann zwangsweise auf RAW-Speicherung um und stellt nach Fertigstellung den Ist-Zustand wieder her.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon Blindfuchs » 24.07.2010, 21:36

Hallo msl

Danke erstmal für deine Mühe aber war leider erfolglos. Hab die komplette Scriptzeile durch deine neue ersetzt.
Script bricht dennoch mit derselben Fehlermeldung ab.
Läuft alles soweit gut bis die 3 Raw dateien gesucht werden um daraus die Wav datei zu machen.
Die Dateien liegen zwar nach wie vor bei den jpg's aber der Script weiß nicht wo er suchen soll. Wahrscheinlich wird nach wie vor nach einem "CANON" Ordner gesucht.

Gruß Christoph
Powershot SX 120 IS chdk: sx120is-100b-1.1.0-DE-full_BETA_rev_428
SX 40 HS chdk: 100i-1.1.0-full_BETA_rev_978
Blindfuchs
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 28
Registriert: 12.07.2010, 00:39
Wohnort: Wangen

Beitragvon msl » 24.07.2010, 22:04

Hallo,

dachte mir schon, dass das nicht so einfach geht.

Letzter Versuch für heute:

Ich habe den Teil mal auskommentiert, der für die Ordnersuche verantwortlich ist. Teste mal das Skript im Anhang.

Selbst wenn es jetzt funktionieren sollte, ist das keine optimale Lösung. Das Suchen muss dann anders organisiert werden.

Gruß msl


edit: Anhang entfernt, Download hier.
Zuletzt geändert von msl am 24.07.2010, 23:47, insgesamt 1-mal geändert.
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon Blindfuchs » 24.07.2010, 22:38

Super, Volltreffer

Jetzt hat's geklappt. Läuft meines erachtens genau so wie es sein soll. Am Ende werden auch brav alle RAW Dateien gelöscht.

Lag's an der neuen Ordnerbenennung der sx120?

Könntest du mal bei Gelegenheit aufzeigen welche Teile du am ursprüngliche Script verändert hast? Vielleicht lässt sich ja was auf andere Scripts umsetzen.

Glaube das könnte auch das Problem für andere Script's sein die soweit laufen bis im Fotoordner nach einer Datei gesucht wird um weitermachen zu können. Bei der automatische Belichtungsreihe von dir (br_histo.lua) vermute ich dasselbe Problem, da das erste Foto gemacht wird und dann gehts nicht mehr weiter weil wahrscheinlich der Script nicht weiß wo er das Foto suchen soll.

Danke für deine schnelle Hilfe

Gruß Christoph
Powershot SX 120 IS chdk: sx120is-100b-1.1.0-DE-full_BETA_rev_428
SX 40 HS chdk: 100i-1.1.0-full_BETA_rev_978
Blindfuchs
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 28
Registriert: 12.07.2010, 00:39
Wohnort: Wangen

Beitragvon msl » 24.07.2010, 23:20

Schön, dass es jetzt geht.

Im Skript habe ich die Zeilen 72 - 76 auskommentiert - zu erkennen an dem Doppelstrich "--". Damit wird dieser Bereich im Skript nicht ausgeführt.

Es liegt wirklich an der von Canon geänderten Ordnerstruktur. Die jetzige Lösung ist zwar brauchbar aber nicht unbedingt sicher. Mal sehen, ob mir da eine bessere allgemeingültige Lösung einfällt. br_hist.lua schaue ich mir hinsichtlich dieser Problematik auch an.

Danke, dass du beim Testen dran geblieben bist.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Mehrfachbelichtung automatisiert...

Beitragvon Platsch-O-MAT » 19.08.2010, 18:26

Hallo ihr Gurus!
Vorab erst mal: HUT AB VOR EUCH!!! Großartige Leistung!!!

Ich hab mir vor ca 2 Wochen eine SX1 gekauft und auf Anraten meines Bruders direkt mit CHDK rumgespielt - so weit, so gut.

Bisher bin ich von den Funktionen und Skripten auch total begeistert aber gerade im Bereich Mehrfachbelichtung beiß ich mir an dem Ding echt die Zähne aus...

Folgendes Problem:
Ich würde gerne automatisiert (in vordefinierten Zeitabständen) Fotos schießen und diese dann mit dem hier besprochenen Skript zu einem Foto zusammensetzen.

zum Schießen der Fotos hab ich schon ein Skript gefunden aber ich schaffe es nicht, diese zu einem zusammen zu basteln...

Zur Visualisierung des Vorhabens mal ein Beispielbild:
http://lh3.ggpht.com/_xOEWydNdfYw/RqUqpWU0YPI/AAAAAAAAABQ/kKrmXpVEwhI/mond3.jpg

Danke vorab für alle Tipps!
Platsch-O-MAT
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 3
Registriert: 13.08.2010, 10:22

Beitragvon msl » 19.08.2010, 22:04

Hallo,

für dein Vorhaben ist die CHDK-"Mehrfachbelichtung" wahrscheinlich ungeeignet. Hier gibt es nur die Möglichkeit, einen Summen- oder Durchschnittswert für das jeweilige Pixel zu erstellen.

Du kannst einen einfachen Test machen. Erstelle einfach 2 - 3 Bilder im CHDK-RAW-Format mit gleichem Motiv und Stativ, verändere im 2. (und 3.) Bild irgendein Detail im Motiv. Markiere im CHDK-Datei-Browser diese RAW-Dateien und rufe die Funktionen RAW-Summe oder RAW-Mittelwert auf. Es wird eine neue RAW-Datei mit der Endung .wav erzeugt. Diese kannst dann mit der Funktion RAW Develop im CHDK-Datei-Browser zu einem JPG-Bild entwickeln. (siehe Handbuch S. 58 )

Der Test geht natürlich auch mit dem in diesen Thread beschriebenen Skript (12Bit-Variante). ;)

Ich denke, Ergebnisse, die deinem Beispiel entsprechen sollen, wirst du eher mit einem EBV-Programm erzielen.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon Platsch-O-MAT » 20.08.2010, 17:46

Sorry, wenn ich nerve aber bei mir klappt selbst dieser Weg nicht:

Ich schieße 2 Bilder, finde die RAWs, markiere diese und mache ein WAV draus - so weit, so gut.

Aber wenn ich dann, wie du beschrieben hast, daraus ein JPG entwickeln will, kommt die Meldung:
"Bitte Kamera im Aufnahmemodus starten und ein Bild machen."

Im ersten Moment musste ich mir das Lachen echt verkneifen (-:


Was mache ich falsch?
Platsch-O-MAT
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 3
Registriert: 13.08.2010, 10:22

Beitragvon msl » 20.08.2010, 19:06

Leute, Leute!

Und warum machst du nicht einfach das, was die Kamera sagt: In den Aufnahmemodus umschalten und knipsen. :lol:

Die Kamera kann nun mal nur im Aufnahmemodus JPGs erstellen. In diesem Fall wird die Kamera aber angewiesen, das zuvor markierte RAW-Bild zu nehmen und nicht die aktuellen Sensordaten.

Ich hoffe, jetzt sind alle Unklarheiten beseitigt.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon Platsch-O-MAT » 21.08.2010, 09:44

O M G !!!
Ich dachte, das Ding will mich verschaukeln oder es wäre etwas nicht sauber portiert, da es ja bisher für die SX1 (noch) nur ne Betaversion gibt...

DIESEN Zusammenhang hab ich bisher nirgends herausgelesen.
Sorry und DANKE!

Platsch-O-MAT
Platsch-O-MAT
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 3
Registriert: 13.08.2010, 10:22

Beitragvon Schima » 22.08.2010, 11:15

So jetzt mal in den richtigen Thread

Das Problem mit dem Script "BR_Dev04.Lua" ist leider immer noch vorhanden.

Es bricht mit der Fehlermeldung

":151: attempt to call global 'get_curve_state' (anil value)"

ab.

Hab ich da was falsch eingestellt?

MFG Schima
Ixus 800IS 101b Chdk 0.9.9-921

Eos 550D
Schima
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 10
Registriert: 17.08.2010, 13:58

Beitragvon msl » 22.08.2010, 19:02

Ist bei dir das Kurven-Menü im CHDK Menü verfügbar? Wenn nicht, fehlt die Kurvenfunktion bei deiner Kamera. Verwende dann bitte die Version für 12-Bit-Kameras. Ansonsten müssen wir mal schauen.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

VorherigeNächste

Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 24 Gäste

cron