[uBasic] Susi2Stack - DOF-Stacking - Update XI

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

Beitragvon gehtnix » 10.06.2009, 18:02

BildBotschaft an Canon und die IXUS-Serie


Mehr sog I net

geschmeidig bleiben

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

Beitragvon Steely » 10.06.2009, 19:28

@ gehtnix
BildBild
... und sie dreht sich doch!


@ Belichter
das sieht einfach schon genial aus!
Und die Fransen müssen definitiv so sein! Dafür sind sie zu scharf, als dass es
am Combine liegen könnte.
Und wenn Du jetzt selber sagst, dass die EOS länger benötigt :-`
Dann hast Du ein Wunder-Kisterl... :D

Hast Du schon mal im Susi2Stack-Menü die Überlappung höher gestellt?
Mir ist aufgefallen dass es einige unscharfe, wiederkehrende Bereiche gibt.

Mit dem Hinweis auf die Beta war nicht böse gemeint, oder so!
Mir fällt halt nur auf, dass die Abfrage von 'Susi2Stack' auf den "Manuellen Focus" nicht greift.
Kann daran liegen, dass der MF in der Beta noch nicht bzw. fehlerhaft abgefragt wird?!
Bei neueren Versionen könnte dann eine Ver/Nachbesserung genau zum Nichtlaufen des jetzigen Scripts führen.
Mehr wollte ich damit nicht ausdrücken... :)

viele Grüsse,
Steely
IXUS 860 1.00c 0.9.8-771 IXUS 430 no CHDK
Benutzeravatar
Steely
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 131
Registriert: 22.01.2009, 15:15
Wohnort: Dortmund, NRW

Hin und her

Beitragvon h3px » 03.08.2009, 18:52

Gesagt getan,
eigentlich ein Beitrag aus dem Kommentare zum Wettbewerb 5/09 - Stacking-Thread, der aber eher hier hin gehört....

Ich nehme mal für den besseren Einstieg den letzten Post von gehtnix mit...
gehtnix hat geschrieben:Hi h3px,

wo habe ich mich in dem PDF nicht klar ausgedrückt ? Was verstehst Du nicht? Bin gerne bereit die Anleitung nachzubessern.

Prinzipiell kann man den Startpunkt auf 1cm legen und das Script starten. Das Script und die Kamera ackern sich durch den gesamten Fokusbereich. Dann hat man z.B. 20 Bilder, davon aber "nur" 8 nutzbar wegen dem scharfen Abbildungsbereich.
Das wirklich geniale macht aber jetzt CombineZP. Wenn man nun diese 20 Stück einliest dauert es zwar länger mit der Erstellung, aber es erscheint ein perfektes Foto. Was mit den 12 "nutzlosen" Aufnahmen geschieht :roll: Keine Ahnung.

Auch wenn ich inzwischen der Meinung bin dass die Scriptanleitung "fast überflüssig" ist, möchte ich schon verstehen was da im Script abläuft. Denn, stehe ich nun mit der Knipse in der Pampa, das Script rackert vor sich hin, und nun fragt mich der fremde Beobachter was denn das nun ergeben soll, dann möchte ich schon eine Antwort geben können. Kommt das doch besser als wenn ich dann die Schultern zucken müsste.Bild

gruß gehtnix


Hi gehtnix,
ich glaube es liegt nicht an deiner Anleitung, eher an meiner Art des Lesens.
Gestolpert bin ich immer beim Übergang von Theorie zu Praxis.
...Wir legen jetzt einen imaginären Startpunkt vor die Linse, hier sind es 53mm
(Punkt 4, absichtlich identisch mit dem Fokus-Strich darüber) und starten das Script...
Das gepaart mit meiner 870, die nicht macht was sie soll, war zu viel für mich.

Was ich bisher glaube :? verstanden zu haben, korrigier mich wenn das nicht stimmt, ist:
Focus= 0 / Ende = 1 --> 0 Script startet beim Focus-Punkt und verschiebt diesen in die Ferne bis Unendlich
>>Startpunkt<< hat keine Funktion
Focus= 0 / Ende = 1 --> 1 Script startet bei zwingend einzugebenden >>Startpunkt<< und läuft bis zum Focuspunkt.
Menü Ein=1/Aus=0 --> 1 Hier kann ich den Starpunkt manuell nach Scriptstart verändern.
Das würde dann bedeuten, Focus= 0 / Ende = 1 steht --> 1 und der Focuspunkt liegt in der Ferne.

Also wäre die "einfachste" Version.
Sleep-Time (x100): --> 6 scheint zu reichen, was wäre wenn nicht? Fehlendes Bild?
Überlappung: --> 10 finde ich ist ein guter Wert
Nachlauf (10er)%: --> 10 ist immer ein guter Wert
Menü Ein=1/Aus=0: --> 0
Focus= 0 / Ende = 1 --> 0
Startpunkt cm: --> 0

Dann auf das nächste(erste) Objekt fokussieren (oder halt manuell einstellen), Kamera auf den gewünschten Bildausschnitt und Script starten.
Fertig.

Wobei es wohl so ist, dass wenn die Kamera ein gelbes Kästchen (für nicht richtig fokussiert) zeigt, kein Wert übergeben wird und die Kamera nach dem ersten Bild das Script beendet. Meine 590 macht das ohne zu murren, meine 870 macht immer das gleiche Foto mit einem immer gleichen Focus-Wert. Aber Steely
hatte ja hier schon mal sowas angedeutet...

Aber das alles gehört natürlich eher in den anderen Thread... Edit: schon da...
Gruß h3px


Edit: Und da wäre dann auch das Problem mit der 870 gelöst.
Ab und an hilft es einfach mal die neueste CHDK-Version zu nehmen...
Also kann meine 870 jetzt auch mitspielen. Sehr schön
:)
Benutzeravatar
h3px
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 365
Bilder: 10
Registriert: 15.01.2009, 20:38
Wohnort: ~ MUC
Kamera(s): S 110 103a - SX 260 101a
Ixus 870 101a - A590 101b

Re: Hin und her

Beitragvon gehtnix » 03.08.2009, 22:18

Hi h3px,

fange ich mal von Unten an:
Also wäre die "einfachste" Version.
Sleep-Time (x100): --> 6 scheint zu reichen, was wäre wenn nicht? Fehlendes Bild?
Überlappung: --> 10 finde ich ist ein guter Wert
Nachlauf (10er)%: --> 10 ist immer ein guter Wert
Menü Ein=1/Aus=0: --> 0
Focus= 0 / Ende = 1 --> 0
Startpunkt cm: --> 0

Dann auf das nächste(erste) Objekt fokussieren (oder halt manuell einstellen), Kamera auf den gewünschten Bildausschnitt und Script starten.
Fertig.
Genau, wobei es nicht mehr notwendig ist manuell zu fokussieren. Die Sleep-Time ist notwendig damit die Kamera Zeit hat das Objektiv auf die Position einzufahren. Wenn die Zeit zu kurz ist, vermutlich wird das Bild fehlen oder mit altem Fokus, also 2x Bild mit selber Fokusstellung.
Den Startpunkt auf 0, geht zwar, erzeugt aber unnötige Bilder im Vordergrund. Da der DOF hier recht klein, dauert es dann auch länger. Siehe Grafik Seite 1, die Bilder die vor Punkt 4 liegen (ca.7-8St.) sind überflüssig. Aber es ist möglich! Löschen kann man ja am PC, bzw. CombinZP verarbeitet diese 7-8 Bilder zwar, das Ergebnis wird aber dadurch nicht verfälscht.

Mit den Parametern: "Startpunkt cm" und dem "Focus= 0 / Ende = 1" wird der Bereich festgelegt der dann abgearbeitet wird.

Angefangen wird immer mit dem "Startpunkt cm", Punkt 4 (Grafik Seite 1 vom PDF)
Bei "Focus= 0" nimmt der Autofokus diese 174mm und das Script verlängert auf das "Ende" von 348mm.

Mit "Ende = 1" können wir nun das "normale" Ende von 348 auf ein anderes Maß festlegen, z.B wenn wir die 1m entfernte Wand im Hintergrund auch noch scharf haben möchten. Entweder jetzt den Parameter entsprechend setzen oder das mit dem Kameradreh machen und die Wand fokussieren. Damit habe ich den Stackbereich dann auf diesen 1m erweitert.
Diese Version benötige wir eigentlich nur wenn wir, wie in Grafik 1 zu sehen, waagerecht auf das Motiv gehen. Gehen wir schräg auf das Motiv, Grafik von Seite 2, dann ist die "einfachste Variante" die beste Wahl.

Wobei es wohl so ist, dass wenn die Kamera ein gelbes Kästchen (für nicht richtig fokussiert) zeigt, kein Wert übergeben wird und die Kamera nach dem ersten Bild das Script beendet.
Das könnte ich mal dahingehend abändern, dass wenn er nicht scharfstellt nochmal neu fokussiert.

Das mit der IXUS hat sich dann wohl auch gelöst. Dann kann ich wohl die Bemerkung mit dem manuellen Fokus auch löschen.

Also, die IXUS-Eigner, ran ans Stacken.

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

Beitragvon gehtnix » 04.08.2009, 01:19

Hi,

hier nun die notwendige Änderung damit ein eventueller unscharfer Fokus abgefangen wird.

Dazu werden nach der Zeile 28
Code: Alles auswählen
D=get_orientation_sensor
diese zwei Zeilen
Code: Alles auswählen
press "shoot_half"
sleep 500
gelöscht.

Dann wir folgendes eingefügt.
Code: Alles auswählen
:neufok
press "shoot_half"
sleep 500
if get_propset=1 then get_prop 67 S
if get_propset=2 then get_prop 18 S
if S=0 then
   cls
   release "shoot_half"
   print "Fokus nicht OK"
   print "Kamera neu ausrichten"
   print "Ich wiederhole den Fokus"
   sleep 3000
   goto "neufok"
endif

Fertig

Im Script habe ich das bereits aktualisiert und steht oben zum Download bereit.

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

Beitragvon gehtnix » 05.08.2009, 00:48

Hi,

nun habe ich zum besseren Verständnis die zwei Varianten in separaten Grafiken mit Erklärungen dargestellt.

@fe50, sei bedankt. Da hat der (der?)Don was zu knabbern Bild

geschmeidig bleiben

gruss gehtnix
Dateianhänge
Susi2Stack Zusatz.pdf
(26.62 KiB) 137-mal heruntergeladen
Bild
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS50 101b

kleines Zeichen, große Wirkung

Beitragvon msl » 09.08.2009, 13:58

Hallo,

gehtnix hat geschrieben:hier nun die notwendige Änderung damit ein eventueller unscharfer Fokus abgefangen wird.

Das wollte ich doch mal ausprobieren... und bin daran fast verzweifelt. Bild

Aber ich habe ihn gefunden, den Fehler. Ein "Bild war schuld.

Bitte mal in der hochgeladenen Version Zeile 41 ändern.

Hier noch ein Vorschlag, damit nicht ewig versucht wird, zu fokussieren:
Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
Z=1

:neufok

press "shoot_half"

do

until get_shooting=1

if get_propset=1 then get_prop 67 S

if get_propset=2 then get_prop 18 S

if S=0 then

    release "shoot_half"

    cls

    print "Fokus nicht OK"

    print "Kamera neu ausrichten"

    print "Ich wiederhole den Fokus"

    print "zum", Z; ". mal."

    Z=Z+1

    if Z>10 then goto "restore"

    sleep 3000

    goto "neufok"

endif
Erstellt in 0.005 Sekunden, mit GeSHi 1.0.8.9


Und am Skriptende:
Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
:restore

end

 
Erstellt in 0.002 Sekunden, mit GeSHi 1.0.8.9


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: 4521
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: kleines Zeichen, große Wirkung

Beitragvon gehtnix » 10.08.2009, 21:35

Hi msl,

ist mir peinlich weil:
Bild a) ich auch drüber gestolpert bin.
Bild b) Ich aber nicht mehr weiß wann und wieso
Bild c) Ich das nicht geändert habe
Bild

Script ist mit den Änderungen und Deinem Vorschlag aktualisiert.

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

Beitragvon PhyrePhoX » 18.08.2009, 22:04

hm, hab das skript jetzt auch mal ausprobiert auf der s3is - sobald fokus gefunden wird nachm start wird das skript unterbrochen mit der meldung: ubasic:197 parse err.

versteh nicht ganz woran es liegt O_o
Benutzeravatar
PhyrePhoX
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 490
Registriert: 04.07.2008, 21:31

Beitragvon gehtnix » 18.08.2009, 23:11

Hi PhyrePhoX,

schön dass sich auch Entwickler an diese Thema ran wagen :o

197 - Die letzte Zeile, eine Leerzeile im Script, sagt nix aus.

Zeile 50:
if get_focus_mode=0 then click "down"
Das wäre ein Anker zur Fehlersuche. Das Script schaltet ja mit dieser Zeile auf den "Manuellen Fokus" um. Die S3 hat da einen separaten Knopf, ist also das "down" richtig?
Und nebenbei stelle ich fest dass "click "down" ja reichen würde weil oben immer mit AF gearbeitet wird.

Eine weiter Möglichkeit könnte bestehen dass ein "endif" fehlt, das hatte ich mal in einem anderen Script mit dieser Angabe der letzten Zeile. Habe das Script durchgesehen, da finde ich nix und müsste zudem bei allen Anwendern auftauchen.

Bei S2 (mangray) und S5 (no.7), siehe oben, funktioniert es(?), also keine weiteren negativen Rückmeldungen von denen.

P.s. Stolper ich doch gerade bei der Durchsicht auf Dein Post vom 14.1.09, da tut sich wohl nichts mehr? Oder dauert das auch 9 Monate?

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

Beitragvon PhyrePhoX » 19.08.2009, 02:53

es ist opensource, jedr kann sich beteiligen ;)

MF wird bei der s3 durch einen seperaten knopf aktiviert, müsste EIGENTLICH bei s2 und s5 dasselbe sein, es sei denn canon hat bei diesen modellen den knopf weggelassen. aber gut zu wissen woran es haken könnte, werde da in der richtung mal nachsehen. dnke :)
Benutzeravatar
PhyrePhoX
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 490
Registriert: 04.07.2008, 21:31

Beitragvon S5andi » 19.08.2009, 19:11

Hallo,

habe das Script auf der S5 getestet: Bekomme auch den Fehler.

Die S5 hat ebenfalls einen separaten Knopf für "manuellen Fokus". Sie S5 mit "mf" in den manuellen Fokus (funktioniert so im Script HDR-Hyper.bas)

Grüße
S5Andi
S5 IS 1.01a + SX230HS 1.01e CHDK-DE: akt. Version
S5andi
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 38
Registriert: 16.08.2008, 07:48

Beitragvon gehtnix » 19.08.2009, 23:07

Hallo,

auch ich habe den Fehler gehabt. Bild

Da hat der Feind aus alten Tagen zugeschlagen. Ein endif hat in den neuen Zeilen (if Z>10 then goto "restore" endif) von msl gefehlt. Ich habe zwar die Zeilen von msl in das Script kopiert, mir aber das Script nie auf die Karte geladen :oops:

Jetzt geht es wieder, gottseidank.

Nutzer von S oder G Kameras müssen halt ggf. die Tasten für den manuellen Fokus anpassen. click "down" mit click "mf" austauschen, 4x. Das hier "is_key k "down"" bleibt so wie es ist.

Wenn man das Script während der Belichtung mit dem Auslöser abbricht wird der MF nicht zurückgesetzt.

Hier noch ein Zusatz den man sich aber, wegen der vielen Tastenfolgen, selber rein kopieren muss.
Code: Alles auswählen
while get_focus_mode<>1
   click "down"
   sleep 200
wend

click "down"
sleep 200

Vor dieser Zeile "D=get_orientation_sensor" einfügen. Diese Zeilen stellen den AF-Modus ein, egal was vorher angewählt wurde. Mit AF beginnt ja das Script.

Bei der Hitze sich durch die Zeilen zu Quälen, es gibt was schöneres. Blitze sind aber für die nächsten Tage angesagt.

@PhyrePhoX, bin mal auf Deine Rückmeldung gespannt.

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

Beitragvon msl » 20.08.2009, 10:33

gehtnix hat geschrieben:Da hat der Feind aus alten Tagen zugeschlagen. Ein endif hat in den neuen Zeilen (if Z>10 then goto "restore" endif) von msl gefehlt.


:D

Bei mir gings. :p

Also sollte man konsequent auch bei if-Einzeiler mit endif abschließen. Ich werde das mal im Handbuch ändern.

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: 4521
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon gehtnix » 20.08.2009, 11:13

msl hat geschrieben:Also sollte man konsequent auch bei if-Einzeiler mit endif abschließen. Ich werde das mal im Handbuch ändern.
Verkehrt ist das nicht.

msl hat geschrieben:Bei mir gings
Geht es denn jetzt noch mit Deinem Ursprungscode?

Habe soeben noch eine Stelle (if G<(A+e) then e=0 endif) entdeckt bei der der Abschluss bereits gesetzt war. Kann sein dass ich da schon einen Fehler hatte, weiß ich aber nicht mehr.

Mir scheint aber, dieser Endif-Fehler meldet sich mit der Angabe der letzten Zeile und "Parse err". Das war mir bisher noch nicht so deutlich ins Auge gestochen, obwohl ich es weiter oben schon Vermute.

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

VorherigeNächste

Zurück zu Code-Ecke

Wer ist online?

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

cron