Hallo zusammen,
ich habe dann mal den Mut gefasst und es probiert in ein LUA-Script einzubinden.
Es funktioniert! Der Name des Scriptes, mit dem das Foto aufgenommen wurde, wird in den Metainformationen aufgeführt.
@stift
Danke, das ist eine super Sache!
@all
Was ich gemacht habe:
- /CHDK/SCRIPTS/EXIFModule.lua hinzugefügt
- Zeilen im LUA-Script hinzugefügt und Verzeichnisnamen geändert
- Code: Alles auswählen
-- importiere EXIF Modul
require "EXIFModule"
-- ein Objekt der JPEGImage Klasse erzeugen, JPEGImage ist definiert in EXIFModule.lua
P = JPEGImage
-- den Pfad zum aktuellen Foto zusammenbauen
ImgDir = "A/DCIM/131CANON/" -- hier den aktuellen Bilderordner einfuegen
ImgNumber = get_exp_count() -- Nummer des aktuellen Bildes ermitteln
No = tostring(ImgNumber)
ImgFileName = "IMG_"..string.rep("0", 4-string.len(No))..No..".JPG"
-- eigenen Text in EXIF Tag UserComment schreiben
P:new(ImgDir..ImgFileName)
P:SetUserComment("Mein neuer Text")
/CHDK/SCRIPTS/01_focus-stacking.lua
- Code: Alles auswählen
--[[
@title Fokus-Stacking-LUA
@param a Fokus-Schritte [10] +
@default a 10
@param b Schrittweite [1]
@default b 1
@param d Anstieg [1]
@default d 1
@param h Ruhepause [3000]
@default h 3000
]]
print_screen (1234)
if a<1 then a=10 end
if b<1 then b=1 end
if d<1 then d=1 end
if h<1 then h=300 end
sleep (h)
f = get_focus ()
for i=1,a do
if f>65534 then
print ( "max. Fokus" )
sleep (3000)
else
-- g=f+(d*(i^5)/(m*10^5)+i)*10*b
-- d größer -> kleinerer Anstieg
-- b vielfaches der Schrittweite
m = math.pow(10,5)
l = math.pow(i,5)
k = 10*l/(d*m)+i
g = f+k*b
set_focus (g)
shoot ()
print ( "Foto ".. i .. " " .. g )
sleep (500)
-- importiere EXIF Modul
require "EXIFModule"
-- ein Objekt der JPEGImage Klasse erzeugen, JPEGImage ist definiert in EXIFModule.lua
P = JPEGImage
-- den Pfad zum aktuellen Foto zusammenbauen
ImgDir = "A/DCIM/101CANON/" -- hier den aktuellen Bilderordner einfuegen
ImgNumber = get_exp_count() -- Nummer des aktuellen Bildes ermitteln
No = tostring(ImgNumber)
ImgFileName = "IMG_"..string.rep("0", 4-string.len(No))..No..".JPG"
-- eigenen Text in EXIF Tag UserComment schreiben
P:new(ImgDir..ImgFileName)
P:SetUserComment("Fokus-Stacking-LUA")
-- print("marked ", ImgFileName)
end
end
set_focus (f)
2 Sachen habe ich da aber noch.
Den Verzeichnisnamen hatte ich vorher mit "A/DCIM/100CANON/" angegeben. Das Verzeichnis existiert zwar (mit Fotos), aber die aktuellen Foto werden in 101CANON geschrieben. Ich bekam dann eine Fehlermeldung.
- Code: Alles auswählen
Foto 1 497
A/CHDK/SCRIPTS/EXIFModule.LUA:279: attempt to index local 'inp' (a nil value)
PRESS SHUTTER TO CLOSE
Die etwas wichtigere Sache noch.
Bei "Entfernung des Motivs" wird jetzt über den Bildbetrachter in den Metadaten bei jedem Foto 0 angegeben.
Ich habe mal mit exiftool die Metainformationen zweier Bilder Verglichen. Es ist 1 Eintrag hinzugekommen/geändert, aber 2 fehlen.
in deutsch
- Code: Alles auswählen
+ Angezeigte Blende : 5.3
- Entfernte Fokus-Distanz : 2.67
- Nahe Fokus-Distanz : 0
in englisch
- Code: Alles auswählen
- AF Point : Manual AF point selection
+ Display Aperture : 5.3
- Focus Distance Upper : 2.67
- Focus Distance Lower : 0
bis dann,
Nando
Canon PowerShot SX200 IS 100D (seit Mitte Nov 2009), Canon PowerShot A1000 IS 100b