Wünsch Dir was - Skripte

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

Wünsch Dir was - Skripte

Beitragvon msl » 02.11.2008, 10:20

Wünsch Dir was 8)

Nicht jeder kann oder will skripten, möchte aber trotzdem dieses CHDK-Feature für bestimmte Aufgaben ausnutzen. Hier soll nun jeder die Möglichkeit haben, Wünsche für Skripte aufzuschreiben.

Dazu sind einige Angaben notwendig:
    Kameratyp
    Kurze aber eindeutige Beschreibung der Aufgabe
    Wenn notwendig sollen welche Bedienelemente der Kamera genutzt werden?
    Gibt es schon ähnliche Skriptvorlagen, auf die aufgebaut werden kann?
    Evt. Besonderheiten, die zu beachten sind.
Die Aufgaben sollten realistisch mit den Möglichkeiten von CHDK übereinstimmen. Wunder kann auch CHDK nicht vollbringen. ;)

Erwartet auch nicht, dass alles sofort realisiert werden kann. Diese Wunschliste soll auch dazu dienen, CHDK bei der Entwicklung in die richtige Richtung zu lenken.

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

Panorama Hochkant Hilfe

Beitragvon Money » 02.11.2008, 11:40

Hallo Zusammen,

das passt ja in die Weihnachtszeit ein paar Wünsche...

Ein Wunsch wäre das die Stitch Funktion auch hochkant funktionieren würde.
So ist bei den "Großen" Jungs die Kameralage bei den Singelrows um möglichst viel Foto auf eine Umdrehung zu bekommen.

Weis nicht ob das mit einem Script zu machen wäre.
Wäre eine super Hilfe beim freihändigen drehen.

Vielen Dank für eure Arbeit

Money
Ixus 75 5037
*Neu* ixus75_sd750-102a-0.7.7-579.zip
*Alt*chdk_sd750_102a_08jun08_1547.zip
Money
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 9
Registriert: 11.09.2008, 12:00

Beitragvon firsthippi » 02.11.2008, 13:39

erstmal hallo an alle.
ich nutze chdk auf meiner a720 seit kurzem und bin begeistert von den vielen funktionen. wäre der faden jetzt nicht aufgetaucht, hätte ich die frage nach einen script hier gestellt.

ich kenn die funktion von der analogen spiegelreflex meines vaters. die heißt "dep"?. dabei kann man den bereich zwischen der scharfgestellt werden soll (schärftentiefe/tiefenschärfe) durch messen der entfernung von zwei punkten bestimmen. die kamera bestimmt dabei wohl die blendenöffnung in abhängigkeit der brennweite und der entfernungen.

ist so es möglich diese funktion mittels einen sricptes zu integrieren? der schärfentieferechner ist ja schon vorhanden.

vielen dank!
firsthippi
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 5
Registriert: 23.09.2008, 06:08

Beitragvon msl » 02.11.2008, 17:08

@Money

Dein Wunsch ist eher etwas für die allgemeine CHDK-Wunschliste.

Es gibt aber unabhängig von der CHDK-Entwicklung 2 Ansätze, die Hilfestellung geben könnten. Für Dich ist ja die Orientierung wichtig. Dabei könnte ein spezielles Grid helfen. Als 2. Möglichkeit würde die Ausnutzung der Konturenüberlagerung in Frage kommen.

@firsthippi

Dein Wunsch geht schon mehr in die Richtung der Skriptlösung. Ich zitiere mal die Definition zu DEP, um Missverständnisse auszuschließen.
Die Schärfentiefenautomatik wählt selbstständig eine "Blende-Belichtungszeit"-Kombination welche einen großen Schärfentiefenbereich zwischen einem nahen und einem weiter entfernten Objekt gewährleistet. Diese Einstellung eignet sich z.B. für Landschaftsaufnahmen und Situationen, in denen sowohl der Vordergrund, als auch der Hintergrund scharf sein sollen.


Das heißt also, eine möglichst große Entfernung zwischen Nah- und Fernlimit bei optimal berechneten Verschlusszeiten und Blendenwerten. Da könnte es bestimmt diverse Lösungansätze geben.

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 firsthippi » 02.11.2008, 17:51

dieses skript muss aber nicht unbedingt einen großen schärfentiefebereich abdecken! dafür könnte man ja die hyperfokaldistanz verwenden.
es geht auch darum, um absichtlich den fokuspunkt nicht auf das eigentliche hauptmotiv zu setzen, sondern weiter nach vorn zu holen, um das hauptmotiv gerade noch scharf abbilden zu können (nah-entfernung könnte dann ja manuell eingegeben werden)

also die vorgaben die durch den benutzer festzuelgen sind
nah-entfernung (manuell oder über auslöser)
fern-entfernung (manuell oder über auslöser)
belichtungswert hauptmotiv
brennweite

berechnete werte durch das script
fokuspunkt
blende
belichtungszeit (also im av-modus)
firsthippi
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 5
Registriert: 23.09.2008, 06:08

Beitragvon Paparazzi » 04.11.2008, 10:46

Hallo,

super Idee, dieser Thread!!!

Gerade dieses Wochenende hat sich ein Wunsch ergeben:
Gerne würde ich per Skript die Intensität des Blitzes regeln können, um ihn z.B. nur als Aufhellblitz für eine gewisse Grundhelligkeit zu benutzen ohne daß er die vorhandene Lichtstimmung zerstört.
Diese Einstellung sollte ähnlich komfortabel zu regeln sein wie der "erweiterte Tv-Modus" in diesem Skript.
Es gibt irgendwo ein funktionierendes uBasic-Skript für die älteren CHDK-Versionen "dim_flash", das jedoch relativ umständlich zu bedienen ist.

Außerdem wäre es SEHR schön, wenn man nicht nur (wie im erwähnten Skript) die absolute Blitzhelligkeit regeln könnte, sondern wenn man den Blitz ähnlich der Belichtung relativ, also mit +/- EV in Abhängigkeit seiner von der Automatik gewählten Stärke regeln könnte.

Ich denke die Lösung ist weder schwer noch umfangreich, doch mir fehlt momentan der richtige Ansatz (die nötige Übung), es in Lua zu verwirklichen.

Ebenso ist es vermutlich genauso möglich, einen "echten" manuellen Focus per Skript zu realisieren.

Ich benutze eine A550, zur Bedienung könnten z.B. die gleichen Tasten wie im Skript "erweiterter Tv-Modus" (s.o.) genutzt werden.

Herzlichen Dank schonmal!

Gruß
Der Paparazzi
A550 und SX10IS, beide mit aktuellen CHDK-Versionen
Paparazzi
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 70
Registriert: 11.04.2008, 08:35

Beitragvon msl » 04.11.2008, 12:55

Hallo,

ich wollte mal noch generell etwas zu diesem Thread sagen.

Jeder kann Lösungsansätze beisteuern. Es ist eigentlich egal, ob in Lua oder uBasic geskriptet wird. Auch unvollendete Ansätze sind willkommen. Auf der anderen Seite sollte man auch nach Lösungen suchen, die ohne Skript auskommen.

@firsthippi

Hast Du schon mal mit dem DOF-Rechner und manuellen Fokus experimentiert. Vielleicht kommst Du da der Sache schon näher. Das Nah- und Fern-Limit kann zwar ausgelesen werden, aber nicht manuell verändert werden. Man kann nur den Fokuspunkt per Skript setzen. Das läßt sich aber auch durch die Kamerafunktion realisieren.
Vielleicht gibt ja noch einen anderen Ansatzpunkt, der mir jetzt nicht klar ist.

@Paparazzi

Kannst Du bitte mal nach diesem Skript " Dim_Flash" suchen. Da wäre dann ein Ansatzpunkt gegeben.

Ein echter manueller Fokus wäre sicherlich realisierbar. Eine Schwierigkeit, die ich dabei sehe, ist, dass die Kameras unterschiedliche "Nullpunkte" haben, also dem Startwert. Das ist aber eher eine skriptorganisatorische Sache. Man könnte dann z. B. das Tv-Skript verwenden und analog der Zoom-Funktion einen manuellen Fokus einbauen, der über die Einstellung "Fokus" aktiviert wird. Dieser sollte aber logarithmische Wertesteigerung haben, damit man auch schnell genug bei unendlich ankommt.


Na mal sehen, was da machbar ist.

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 firsthippi » 04.11.2008, 15:42

also ich habe mich mal "kurz" hingesetzt und versucht etwas zu programmieren (nur um das prinziep hoffentlich klar zu machen).

@title DEP

rem Modus Av
rem #Kamera A720IS

x=0
print "'Display' für Nahbereich"
x=is_key"display"
if (x=1) get_focus n
x=0
print "'Display' für Fernbereich"
x=is_key"display"
if (x=1) get_focus f
x=0
print "'Disply' für Hauptmotiv"
x=is_key"display"
if (x=1) get_focus g

#Brennweitenbestimmung
b=get_zoom
select b
case b=0;b=5,6
case b=1;b=8,4
case b=2;b=11,2
case b=3;b=14
case b=4;b=16,8
case b=5;b=19,6
case b=6;b=22,4
case b=7;b=25,2
case b=8;b=28
case b=9;b=30,8
case b=10;b=33,6
end_select

#Zerstreuungskreisdurchmesser
z=0,006

#Blendenberechnung
a=-(b*b*(n-f))/(z*(n+f)*(g-b))

if (a>8,0) a=18
if (a<8,0) a=18
if (a<7,1) a=17
if (a<6,3) a=16
if (a<5,6) a=15
if (a<5,0) a=14
if (a<4,5) a=13
if (a<4,0) a=12
if (a<3,5) a=12
if (a<3,2) a=10
if (a<2,7) a=9
end if

1=is_key_"display"
press "shoot_half"
set_av a
set_fokus g
wait 100
press "shoot_full"
release "shoot_full"
release "shoot_half"
shoot

end

der benutzer soll dabei den schärfentiefebereich selbst wählen können (Nahbereich und Fernbereich) und den "Haupbereich" auf den scharf gestellt werden soll. Das Skript soll dazu die Blende berechnen die theoretisch beenötigt wird. Im Av-Modus würde dann die notwenige BElichtugnszeit berechnet (fall man die nicht im M-Modus manuell einstellen will.
Sicher ist, dass es nicht für alle gewünschten Schärfentiefen eine richtige Blende gefunden werden kann. (Bin mir auch nicht sicher, ob die Rechnung für die Blende korrekt ist...wäre mal zu prüfen).

eines scheint aber wohl nicht zu funkionieren, dass man für die entfernugnsmessung und das auslösen den Auslöseknopf verwendet.

wo ich selbst etwas stolpere ist die übergabe der bereneten Blende in das kameraverwendbare Format (ganzzahlige Zahlen) und die umwnadlung der kameraverwendbaren Brennweite in echte Millimeter.
Außerdem bin ich nicht sicher, ob beim "shoot_half"-befehl nicht einfach wieder ein anderer fokus gewählt wird, falls man die kamera etwas bewegt.

wenn sich mal ein profi äußern könnte. kann auch sein, ich bin auf dem totalen holzweg
firsthippi
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 5
Registriert: 23.09.2008, 06:08

taschenrechner

Beitragvon C4_87 » 04.11.2008, 18:36

wie wäre es mit einem taschenrechner?
erstmal kein CHDK mehr für mich :)

http://zephyrc4.deviantart.com

[irgenwie hab ich ja mit den : ^^] ^^
Benutzeravatar
C4_87
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 250
Bilder: 5
Registriert: 13.06.2008, 11:26
Wohnort: Jetzt in DD

Beitragvon Paparazzi » 06.11.2008, 13:32

Hallo msl,

hatte etwas Zeit und habe mich mal selber ein wenig an diesem irgendwo durch puren Zufall entdecken und fast undokumentierten "dim_flash"-Skript versucht.
Dem Ergebnis habe ich mal einen eigenen Thread gewidmet: [Lua] manuell regelbarer Blitz für alle CHDK-Cams
Das Skript ist noch nicht ausgereift aber es läuft und erfüllt seinen Zweck - zumindest auf der A550.
Ich hoffe Du hast nichts dagegen, daß ich mich sowohl Deines Skriptes wie auch Deiner kleinen Dokumentation als Grundlage bedient habe.

Was den manuellen Focus angeht, habe ich entdeckt, daß diese Funktion bereits zumindest in den letzten AllBest-Versionen implenetiert war... :oops: Vielleicht nicht super komfortabel zu bedienen aber funktionsfähig.
Vielleicht könnte diese Funktion bei Gelegenheit im Handbuch mal etwas besser erklärt und beschrieben werden?

Gruß
Der Paparazzi
A550 und SX10IS, beide mit aktuellen CHDK-Versionen
Paparazzi
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 70
Registriert: 11.04.2008, 08:35

Beitragvon msl » 06.11.2008, 14:12

Klar kannst Du das vorhandene Material verwenden, ist ja sogar Bestandteil des kompletten CHDK-Paketes. :D

Das Skript für den manuellen Fokus habe ich schon in der Schublade. Bin aber nicht sicher, ob es so überhaupt funktioniert. Da gibt es doch einige ungeklärte Dinge mit den Kamera-Befehlen und Fokus-Einstellungen.

Das Handbuch muss sowieso demnächst im größeren Stil überarbeitet werden. :roll: Da schaue ich mir dann auch noch mal diese Passage an.

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 PhyrePhoX » 06.11.2008, 20:30

also ich hab jetzt mal versucht in lua ein lotto skript zu schreiben und ich bin kläglich gescheitert. es sollte eigentlich in den EXAMPLE folder vom chdk complete autobuild. irgendwie stell ich mich zu blöd an. brauch jetzt quasi erstmal selber ein example script :D

ich nehme an für lua erfahrene dürfte das kein ding der unmöglichkeit sein:

das muss es quasi können:
--[[
@title Lotto
@param n how many
@default n 6
@param r range
@default r 49
@param e exclusive
@default e 1
]]


n = wieviele zahlen sollen generiert werden?
r = in welchem Bereich (1 bis X)
e = dürfen Zahlen doppelt vorkommen? Bei 1 dürfen sie nur einmal vorkommen. Standard Optionen beschreiben quasi das Standard Deutsche Lotto System
Man könnte zusätzlich zu r noch ein s setzen, nämlich den Startwert, also zB dass Zahlen im Bereich von 10 bis 20 generiert werden, so hat man unterwegs einen universellen Zahlen Generator.
Wenn das einer schreiben könnte wäre super, kriegt auch nen Keks und Erwähnung im Changelog und vor allem in allen zukünftigen Autobuilds :D

Schon witzig eigentlich dass ich das Skripten mal so garnicht kann. Auf der anderen Seite kann ich auch nicht wirklich C, es macht halt nur kein anderer :D
Benutzeravatar
PhyrePhoX
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 490
Registriert: 04.07.2008, 21:31

Beitragvon msl » 06.11.2008, 22:53

Das ist ja bald wie "hats geschrieben und kanns nicht lesen". :D :lol: :D

Ich habe hier mal einen ersten Ansatz vorgegeben.

Die Sache mit den doppelten Zahlen ist bestimmt nicht so schnell und einfach lösbar. Aber mal sehen ...

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 Herr Nelius » 07.11.2008, 14:44

Wie wäre es mit einer Stoppuhr oder einem Countdown?
A620 + 40D
erste mit neuster CHDK Version
Herr Nelius
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 79
Registriert: 08.06.2008, 10:57
Wohnort: Stuttgart

Beitragvon msl » 07.11.2008, 15:03

Eine Stoppuhr oder ein Countdown-Zähler sollte kein Problem sein.

Das ist eigentlich die richtige Aufgabe für alle, die sich etwas im Skripten üben möchten. Bin mal gespannt, wann es erste Ergebnisse gibt.

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

Nächste

Zurück zu Code-Ecke

Wer ist online?

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