Automatisiertes Einlesen und Umbenennen aus der DigiCam

JKS

FF-Team
Dabei seit
06.06.02
Beiträge
6.713
#22
das heisst: erklär mal so, das ich den Sinn verstehe...
 

poeth

Mitglied
Dabei seit
15.07.02
Beiträge
728
Trophäen
[!!!!(!)(!)][**]
#23
JKS hat gesagt.:
das heisst: erklär mal so, das ich den Sinn verstehe...
:D OK, dann versuche ich es nochmal:
Im Moment ist es möglich ein Script zu schreiben, das pro Bild ausgeführt wird. Was ich noch gerne hätte, wäre ein Script, das vor dem Übertragungsvorgang und eines das danach aufgerufen werden kann.
Ersteres um generelle Initialisierungen vornehmen zu können für das 'Pro-Bild-Script', letzteres um nachgelagerte Aktionen durchzuführen.

Beispiel: Ich habe die Kamera verbunden, markiere einen Schwung voll Bilder und wähle 'Kopieren nach' aus. Dann wird das erste Script gestartet. Dort kann ich bspw. einen Kommentar eingeben wie Tante Ernas 80er. Dieser Kommentar wird dann mittels des 'Pro-Bild-Scripts' in den EXIF-Comment eingetragen. Wenn alle Bilder übertragen sind, rufe ich bspw. ein Script auf, das mir eine Webgalerie erzeugt. ...un scho isch de Kittel g'flickt (wie man in unseren Breitengraden zu sagen pflegt)! ;)
Zugegeben dieses Beispiel klappt natürlich nur für Bilder, die keiner individuellen Nachbearbeitung bedürfen, aber bei diesen wäre das einfach genial oder auch genial einfach.

Grüße
#poeth
 

ralfeberle

FF-Team
Mitarbeiter
Dabei seit
10.07.02
Beiträge
11.289
Trophäen
10*15!4{*}1{!}
#24
Hallo!

Also Skriptverkettung und Skriptverschachtelund bzw. Skript-ruft-Unterskript-auf jeweils mit Parameterübergabe. Diese Unterskript-Programmiermöglichkeit läßt sich aber erst rationell nutzen, wenn das Hauptskript - ich sag mal - öfters als fünf Mal gebraucht wird. Die Möglichkeit, am Ende des Hauptskriptes ein Nachfolgeskript zu starten ist ebenfalls erst dann sinnvoll nutzbar, wenn Nachfolgeskripte von verschiedenen Hauptskripten aufgerufen werden. Oder die Nachfolgeskripte eigenständig sind und auch solo aufgerufen werden. Stellt sich die Frage, wieviele Nachfolgeskripte sollen automatisch so gestartet werden.

Schließlich kann man ein Nachfolgeskript ja immer auch von Hand starten, ist nur wenig Mehraufwand. Wie siehts also mit dem Aufwand-Nutzen Verhältnis aus? Also dem Aufwand, den es Joachim für die Implementierung kostet und dem Nutzen der Skriptbenutzer.

Gruß,

Ralf
 

Psionman

Mitglied
Dabei seit
03.02.03
Beiträge
406
Standort
Berlin
Trophäen
*
#25
Hallo

Das Eintragen von Stichwörtern für mehrere markierte Bilder ist unverzichtbar, dann braucht man anschließend nicht jeden Ordner wieder anfassen um dann die Verschlagwortung durchzuführen. Wäre eine praxisnahe Erweiterung.

Volker
 

Stefan_G.

Mitglied
Dabei seit
25.04.03
Beiträge
3.273
Standort
Nürnberg
Trophäen
Überblick verloren :-(
#26
Kleinhirn hat gesagt.:
...
Dim Orienation
Orientation = FF_GetExifTag("Orientation")
MsgBox Orientation


Anschliessend 2 Aufnahmen machen und zwar:
Kamera nach links abgekippt ( ergibt bei meiner Casio den Wert 8 )
Kamera nach rechts abgekippt ( ergibt bei meiner Casio den Wert 6 )

Dann die Kamera mit dem PC verbinden und mit FixFoto die beiden Bilder in irgendein Verzeichnis kopieren oder verschieben. Dabei wird bei jedem Bild ein kleines Fenster mit dem Inhalt des ExifTag Orientation angezeigt. Zum Abschluss müsst ihr nur noch Euren Kameratyp, diese Werte und die zugehörige Kamerahaltung bitte hier posten.

Anschliessend kann ich das Script entweder individuell oder (wenn sich keine Werte überschneiden) für alle lauffähig anpassen.

Falls weitere Wünsche bestehen, nur her damit.
Hallo Dieter,

hab' Dein modifiziertes Script mit meiner Casio QV 5700 ausprobiert.
Funktioniert leider nicht.

Frage Nr. 1: Müßte das in der ersten Zeile nicht "Orientation" heißen?
Frage Nr. 2: Laut ExifReader gibt die QV 5700 folgende Werte unter dem Tag "Orientation" aus:
- "bottom" für nach rechts gekippt
- "top" für nach links gekippt
- "left-hand side" für normal (nicht gekippt)
(ich weiß, dass das komisch klingt, ist aber so!)
Kannst Du ein weiteres mod. Script für die QV 5700 posten, damit ich das mal ausprobieren kann.

Mit Deinem obigen Script kann ich zwar die Bilder verschieben und nach jedem Bild geht ein kleines Scriptfenster auf, das total leer (grau) ist nur die Ziffer 8 drin stehen hat.

Gruß
Stefan
 

Kleinhirn

Mitglied
Dabei seit
10.08.03
Beiträge
64
Standort
Stuttgart
#27
Hallo Stefan,
natürlich muß es "Orientation" heißen. IrfanView bringt die Werte auch wie Du sie beschreibst. Deshalb hab ich auch ne Weile gebraucht, bis ich auf die richtigen Werte gekommen bin. Die "8" bei Dir ist für die Casio schon korrekt. War auch als Testscript für andere Kameras gedacht. Dir kann ich natürlich mein Originalscript zukommen lassen, da die QV4000 und die QV5700 identisch sind.
Schick mir doch eine PN mit Deiner Mailadresse oder es erklärt mir einer wie ich es hochladen und somiit allen zur Verfügung stellen kann. Muß dann nur noch mehr Kommentare einfügen, damit man versteht, was an welcher Stelle getan wird.
 

Kleinhirn

Mitglied
Dabei seit
10.08.03
Beiträge
64
Standort
Stuttgart
#28
Hier mal vorab das Script als Bausatz zum "Selber in eine Datei kopieren"

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Dieses Skript wird auf jedes direkt von der Kamera aus kopierte / verschobene Bild ausgeführt
'Funktionen:
' - als Fotograf wird der Name eingetragen
' - ein Copyrightvermerk wird aus dem Bilddatum (Jahr) und dem Namen zusammengesetzt
' - falls von der Kamera unterstützt, wird das Bild Verlustfrei gedreht
Dim Datei, Dateiname, Extension, Pfad, Datum, Hersteller, v1, v2, Make
Dim Verzeichnis, Jahr, Monat, Tag, Orientation, Name
Datei = FF_GetImageName(0)
SplitPath Datei, , Dateiname, Extension
if FF_LoadExif(Datei) then 'nur wenn auch Exif- Daten vorhanden sind weitermachen
Name = "Dieter Steigele"
Datum = FF_GetExifTag("DateTime")
if Datum = "" then Datum = FF_GetExifTag("DateTimeOriginal")
if Datum = "" then Datum = FF_GetExifTag("DateTimeDigitized")
if Datum = "" then Datum = Year(Now) 'wenn nichts anderes vorhanden ist, das aktuelle Jahr verwenden
v1 = split(Datum, " ", -1)
v2 = split(v1(0), ":", -1)
Jahr = v2(0)
Monat = v2(1)
Tag = v2(2)
FF_SetExifTag "Artist", Name
FF_SetExifTag "Copyright1","© " + Jahr + " " + Name
FF_SaveExif Datei

'Das Bild Verlustfrei Drehen um 90 oder 270 Grad (falls von der Kamera unterstützt)
Orientation = FF_GetExifTag("Orientation")
if Orientation <> "" then
'für die Kameras Casio QV4000 + QV5700
if Orientation = "8" then 'Kamera nach links gekippt -> Drehung von 270 Grad
FF_RotateFile Datei, 270
elseif Orientation = "6" then 'Kamera nach rechts gekippt -> Drehung von 90 Grad
FF_RotateFile Datei, 90
end if
end if
end if

'*********************************************************
' liefert Verzeichnis mit abschliessendem Backslash,
' Dateinamen und Erweiterung mit einleitendem Punkt
'*********************************************************
sub SplitPath(path, byref dirc, byref file, byref ext)
Set fso = CreateObject("Scripting.FileSystemObject")
dirc = fso.GetParentFolderName(path) & "\"
file = fso.GetBaseName(path)
ext = "." & fso.GetExtensionName(path)
set fso = nothing
End Sub
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Alle Zeilen zwischen den 2 Zeilen mit den + Zeichen gehören zum Script.

Angepasst werden muß die Variable Name (da steht noch meiner drin)

Beschreibung steht in den ersten 5 Zeilen.
Funktion: Man wählt in FixFoto in der Computeransicht den Zielpfad aus, markiert die Dateien in der Kameraansicht und wählt dan per rechten Mausklick Kopieren / Verschieben.
Natürlich muß das Script in den Einstellungen eingetragen sein.

Ist ja ein Monster- Posting geworden. Hoffe es ist nicht zu lang ;D

[EDIT]
Die Dateiendung muß .vbs lauten
 

Stefan_G.

Mitglied
Dabei seit
25.04.03
Beiträge
3.273
Standort
Nürnberg
Trophäen
Überblick verloren :-(
#29
Hallo Dieter,

das mit dem Zumailen hat sich ja jetzt erledigt. Hab Dein Script eingebunden, Namen geändert und getestet:

Funktioniert SUPER!!! :) :) :)

Vielen Dank
Stefan
 

Kleinhirn

Mitglied
Dabei seit
10.08.03
Beiträge
64
Standort
Stuttgart
#30
Danke Stefan.
Bin ja froh, wenn es von mehreren benützt wird. Dann hat sich Joachim's Aufwand wenigstens gelohnt.
Und wie gesagt(geschrieben): Wenn Erweiterungen gewünscht sind, immer her damit.
 

Stefan_G.

Mitglied
Dabei seit
25.04.03
Beiträge
3.273
Standort
Nürnberg
Trophäen
Überblick verloren :-(
#31
Hallo Dieter,

wenn Du mich/uns so nett darum bittest ;) :

Wir Casio-Fotografen, haben doch immer noch das Problem, dass unsere ISO-Angabe in den EXIF-Tags unter den "Vendor Original Information" steht und somit nicht in den FF-eigenen "Bildinformationen" angezeigt wird.

Als Script-Laie gefragt: Könnt man mit diesem Script dieses Problem auch gleich "miterledigen"?

Du hast ja mit Deiner QV4000 das Problem nicht, da Du immer mit ISO100 fotografierst, bei der QV 5700 wäre es ab und zu schon interessant, die verwendete ISO-Empfindlichkeit zu wissen. Vor allem um vergleichen zu können.

Laut ExifReader wird unter "Sensitivity" z.B. "50" für ISO 50 angezeigt.

Gruß
Stefan
 

Kleinhirn

Mitglied
Dabei seit
10.08.03
Beiträge
64
Standort
Stuttgart
#32
Hallo Stefan,
wenn das Exif- Tag von FixFoto unterstützt wird -> kein Problem.
Ich mach mich mal schlau. Bin aber leider nächste Woche geschäftlich unterwegs (ohne Internetanschluss). Melde mich aber nächstes Wochenende wieder.
 

poeth

Mitglied
Dabei seit
15.07.02
Beiträge
728
Trophäen
[!!!!(!)(!)][**]
#33
RalfEberle hat gesagt.:
Diese Unterskript-Programmiermöglichkeit läßt sich aber erst rationell nutzen, wenn das Hauptskript - ich sag mal - öfters als fünf Mal gebraucht wird.
Hm... ich weiss ja nicht wie du es hältst, aber ich mache schon mehr als 5 Bilder pro Jahr. ;)


Schließlich kann man ein Nachfolgeskript ja immer auch von Hand starten, ist nur wenig Mehraufwand.
Richtig! Daher haben ich den Schwerpunkt meines Erweiterungswunschs auch auf ein vorgelagertes Script gelegt. Andererseits ist das nachgelagerte wohl kein Problem, wenn man ein vorgelagertes implementiert hat.

Grüße
#poeth
 

Kleinhirn

Mitglied
Dabei seit
10.08.03
Beiträge
64
Standort
Stuttgart
#34
Hallo Stefan,
hab gerade kurz nachgeschaut (obwohl meine Freundin schon die ganze Zeit sagt: Wann gehn wir endlich) und wie es aussieht unterstützt FixFoto dieses Exif- Tag nicht. Somit kann man es auch nicht aus einem Script heraus ansprechen. Tut mir leid. Jetzt muss ich aber schleunigst weg.
 

Stefan_G.

Mitglied
Dabei seit
25.04.03
Beiträge
3.273
Standort
Nürnberg
Trophäen
Überblick verloren :-(
#36
Hallo,

da das mit dem Script jetzt so schön klappt, ergibt sich - wie immer - ein weiteres Problem.

Wenn ich, was öfters vorkommt, meine Speicherkarte in einem Internetcafe auslesen und auf eine CD brennen lasse, kann ich dieses Script nicht anwenden.

Die CD kann ich unter "Kamera verbinden" nicht ansprechen. Auch ein Einbinden mittels Scripteditor und ein Anwenden auf bereits auf der Festplatte gespeicherte Bilder funktioniert nicht.

Weiß jemand eine Lösung oder einen Workaround?

Gruß
Stefan
 

JKS

FF-Team
Dabei seit
06.06.02
Beiträge
6.713
#37
Da man mittlerweile vom Skript aus Skripte aufrufen kann, sollte sich ein Skript schreiben lassen, das die Bilder von CD kopiert und dabei das Kamera-Transfer-Skript aufruft.
Skriptet wohl.
 

Stefan_G.

Mitglied
Dabei seit
25.04.03
Beiträge
3.273
Standort
Nürnberg
Trophäen
Überblick verloren :-(
#38
Hallo an Kleinhirn (Dieter):

JKS hat gesagt.:
Da man mittlerweile vom Skript aus Skripte aufrufen kann, sollte sich ein Skript schreiben lassen, das die Bilder von CD kopiert und dabei das Kamera-Transfer-Skript aufruft.
Skriptet wohl.
Zaghafte Anfrage: Kannst Du so etwas?

Gruß
Stefan
 

JKS

FF-Team
Dabei seit
06.06.02
Beiträge
6.713
#39
poeth hat gesagt.:
Was ich noch gerne hätte, wäre ein Script, das vor dem Übertragungsvorgang und eines das danach aufgerufen werden kann.
Ersteres um generelle Initialisierungen vornehmen zu können für das 'Pro-Bild-Script', letzteres um nachgelagerte Aktionen durchzuführen.
Für Skripte vorher/nacher kann ich mich nicht erwärmen.
Statt dessen wird ab V2.75 B6 dem Kamera-Transferskript die aktuelle Bildnummer und die Anzahl Bilder übergeben. So lassen sich durch eine Abfrage Vor-/Zwischen-/Hinterher-Aktionen in das gleiche Skript einbauen.
Code:
var p = FF_GetParam().split(",");
FF_MessageBox("Bild "+p[0]+" von "+p[1],1);
 
Oben