Ich möchte auch mal noch einen Skript-Ansatz vorstellen, der sich basierend auf den bisherigen Lösungen der Aufgabenstellung nähert.
Ausgangspunkt ist die Übertragung über die analoge Videoschnittstelle. Diese ist nicht besonders gut. Die Farben wirken verwaschen. Da läßt sich aber noch etwas über die Canon-Einstellung "My Colors" herausholen.
Optimal ist der Modus Videoaufnahme. Hier bekommt man sämtliche Anzeigen weg - bis auf <ALT>. Wichtig ist, dass man im Menü "Verschiedene Einstellungen" -> "Stromsparmodus aus" auf "Script" oder "Alt" eingestellt hat. Außerdem muss im Menü "OSD-Einstellungen" der 1. Menüpunkt "OSD-Anzeige an/aus" deaktiviert werden.
Will man den Makro-Modus nutzen, darf dieser nicht über die Canon-Funktion aktiviert werden. Wenn das per Skript erfolgt, ist auch die Makro-Blume nicht zu sehen.
Das nachfolgende Skript ermöglicht im Videomodus eine Art Webcam ohne störende Bildschirminformationen. es kann gezoomt und fokusiert werden. In den Skriptparameter-einstellungen kann zwischen Makro- und Normal-Modus wählen. Eine Datum/Uhrzeit/Temperatur-Einblendung ist möglich.
Parameter-Einstellungen:
Auto-Fokus -> Es wird automatisch in einem einstellbaren Intervallabstand fokusiert.
Intervall Auto-Fokus -> einstellbarer Fokussierungsintervall in Sekunden.
Fokus -> Auswahl Modus normal oder Makro
Info-Anzeige -> Anzeige von Datum, Uhrzeit und Temperatur (opt. Sensor) ein- und ausschalten.
Funktionstasten:
[Aufwärts][Abwärts] -> einzelne Zoomschritte mit anschließender Fokusierung.
[SET] -> Fokussieren.
[MENU] -> Skript beenden.
Anmerkung:
Beim Fokussieren sind Symbole sichtbar. Die <ALT>-Anzeige ist nur schwer wegzubekommen. Effektiv wäre hier, eine eigene CHDK-Version zu compilieren, bei der diese Anzeige einfach aus dem Quellcode entfernt wird.
--[[
@title
@param a Auto-Fokus [0=aus][1=an]
@default a 0
@param b Intervall Auto-Fokus [s]
@default b 30
@param c Fokus [0=normal][1=Makro]
@default c 0
@param d Info-Anzeige [0=aus][1=an]
@default d 1
]]
function button
()
key
=""
wait_click
(1000)
if is_pressed
"set" then key
= "SET"
elseif is_pressed
"menu" then key
= "MENU"
elseif is_pressed
"up" then key
= "UP"
elseif is_pressed
"down" then key
= "DOWN"
end
end
function get_focus_status
()
if get_propset
() == 2 then
fokus_status
= get_prop
(6)
else
fokus_status
= get_prop
(11)
end
return fokus_status
end
function set_focus_status
(n
)
if get_propset
() == 2 then
set_prop
(6,n
)
else
set_prop
(11,n
)
end
end
function autofocus
()
release
"shoot_half"
press
"shoot_half"
end
focus
= a
f_time
= b
f_status
= c
f_status_is
= get_focus_status
()
info
= d
max_zoom
= get_zoom_steps
()-
1
zoom_is
= get_zoom
()
zoom
= zoom_is
tick
= 0
set_focus_status
(f_status
)
cls
()
press
"shoot_half"
repeat
key
=""
cls
()
if info
== 1 then print(os.date("%x - %X"), get_temperature
(0)..
"°") end
button
()
tick
= tick +
1
if key
== "UP" then
zoom
= zoom +
1
if zoom
> max_zoom
then zoom
= max_zoom
end
set_zoom
(zoom
)
autofocus
()
tick
=0
end
if key
== "DOWN" then
zoom
= zoom -
1
if zoom
< 0 then zoom
= 0 end
set_zoom
(zoom
)
autofocus
()
tick
=0
end
if key
== "SET" then
autofocus
()
tick
=0
end
if (focus
== 1) and (tick
== f_time
) then
autofocus
()
tick
=0
end
until key
== "MENU"
release
"shoot_half"
set_zoom
(zoom_is
)
set_focus_status
(f_status_is
)Erstellt in 0.013 Sekunden, mit
GeSHi 1.0.8.9
Gruß msl
P.S. Ich habe den Thread mal in die "Bastelecke" verschoben.