Jump to content
Die PEN, OM-D & E-System Community

Empfohlene Beiträge

Ich schätze Exiftool (und auch Lightroom) u.a. für die Möglichkeit, sich die verwendeten Objektive einer Reihe von Fotos (zum Beispiel die aus dem letzten Jahr) anzeigen zu lassen:
 

exiftool -q -q -s -s -s -Lens *.dng | sort | uniq -c | sort -n -r

Man kann sich ja auch die Brennweiten geordnet auflisten lassen:

exiftool -q -q -s -s -s -EXIF:FocalLength *.dng | sort | uniq -c | sort -n -r

(Beides sortiert alle DNGs aus dem aktuellen Verzeichnis nach Häufigkeit absteigend.)

Die Brennweite für jeden Millimeter extra zu sehen, ist aber nicht sehr zielführend. Wie rundet man sie kaufmännisch – sagen wir auf 5 mm – vor dem Zusammenzählen und Sortieren? Weiß das jemand?

bearbeitet von Subhash
Präzisierung

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ganz Einfach 🙂

In Excel mit der Funktion vrunden()

=VRUNDEN(A1;5)

A1 ist die Quellzelle

bearbeitet von TKI

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich weiß es nicht, halte den Ansatz "auf 5mm runden", wenn man auch Brennweiten unterhalb von ca. 50mm verwendet, allerdings für eher suboptimal 😉   

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 1 Minute schrieb TKI:

In Excel mit der Funktion vrunden()

Danke, aber lieber MS-frei und in der selben Befehlszeile.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 1 Minute schrieb Rob. S.:

Ich weiß es nicht, halte den Ansatz "auf 5mm runden", wenn man auch Brennweiten unterhalb von ca. 50mm verwendet, allerdings für eher suboptimal 😉   

Auch wieder wahr. Dann wird es noch schwieriger, denn es sollte „dynamisch” gerundet werden. Bei kurzen Brennweiten wenig, bei langen mehr. :classic_wacko:

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 13 Minuten schrieb Subhash:

Danke, aber lieber MS-frei und in der selben Befehlszeile.

Dann vielleicht so:

Ergebnis = Rundenfunktion (Quellwert/5;0)*5

Da ich neben Excel nur VB und VBA kenne, heißt die Runden Funktion round.

Sollte sich aber auch in anderen Programiersprachen so oder ähnlich lösen lassen.

Quellwert durch 5 teilen, auf 0 Nachkomma stellen runden und das Ergebnis dann mit 5 multiplizieren.

Zu dem zweiten Punkt von Rob.S. : Da muss man wohl mit einem wenn-dann-sonst - Konstrukt ran. Die Grenzwerte müssen aber zuvor noch festgelegt werden.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
exiftool -q -q -s -s -s -EXIF:FocalLength *.dng | sort -n | uniq -c

So ist’s sowieso schon einmal g’scheiter: sortiert nach Brennweite.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 22 Minuten schrieb TKI:

Zu dem zweiten Punkt von Rob.S. : Da muss man wohl mit einem wenn-dann-sonst - Konstrukt ran. Die Grenzwerte müssen aber zuvor noch festgelegt werden.

Vielleicht besser nicht auf 5 mm, sondern auf 5 % der Brennweite runden. Das wären bei 12 mm Brennweite auf 0,6 mm bei 50 mm auf 2,5 mm und bei 200 auf 10 mm. Erscheint mir brauchbar. Nicht so wie das:

  14  7.0 mm
  68  8.0 mm
   1  9.0 mm
   1 10.0 mm
  10 11.0 mm
  73 12.0 mm
   1 13.0 mm
  31 14.0 mm
  22 16.0 mm
  10 17.0 mm
   3 18.0 mm
  23 20.0 mm
  17 21.0 mm
  25 23.0 mm
  13 25.0 mm
  20 26.0 mm
   9 27.0 mm
  72 28.0 mm
  17 29.0 mm
  74 30.0 mm
   2 32.0 mm
   4 33.0 mm
  45 35.0 mm
   7 36.0 mm
  10 37.0 mm
   2 38.0 mm
   5 39.0 mm
  18 40.0 mm
  17 42.0 mm
  16 43.0 mm
   5 44.0 mm
   8 45.0 mm
  12 46.0 mm
   1 47.0 mm
   4 48.0 mm
   7 49.0 mm
 424 50.0 mm
	.
	.
	.

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Wenn ich Dich richtig verstanden habe, möchtest Du einzelne Brennweiten (BW) zu Brennweitenbereichen (BWB) zusammenfassen um dann die Anzahl der Bilder zu summieren um das Ganze übersichtlicher dazustellen. Mit Deiner 5% Idee bin ich nicht weiter gekommen.

Wenn man auf 5 genau rundet kannst Du die Brennweiten bis 100 mm auf 20 BWB zusammenfassen

weitere BWB dann in 10er, 25er und 50er Schritten bis meinetwegen 1000 mm oder etwas mehr. Natürlich sind auch größere Schrittweiten möglich. Je nach dem was Sinn macht.

Die einzelnen Funktionen werden dann in einem if-then-else Konstrukt zusammen gefaßt. Dann muss nur noch die Summierung der Bilder in den einzelnen Gruppe gelöst werden.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Danke für die Beschreibung! Theoretisch ist mir das schon klar. Aber meine Kenntnisse des dem Mac OS zugrundeliegenden Unix sind zu schwach um das auch umsetzen zu können.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Bei allem was nicht VB und VBA ist bin ich auch raus, aber vielleicht findet sich ja noch jemand im Forum der sich besser mit MacOS und Unix auskennt. Bis dahin ...

  • Danke 1

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Am 6.1.2019 um 08:18 schrieb Subhash:

Danke für die Beschreibung! Theoretisch ist mir das schon klar. Aber meine Kenntnisse des dem Mac OS zugrundeliegenden Unix sind zu schwach um das auch umsetzen zu können.

Evtl. könnte Dir 'bc' behilflich sein... Nimmt auch Ausdrücke aus der Pipe; ob es da jetzt eine Rundungsfunktion gibt, weiß ich leider grad nicht. Das Teil ist sonst mein Kommandozeilen-Taschenrechner...

  • Danke 1

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ein Lightroom-Plugin von Jeffrey Friedl „Data Plot” zeigt eine Statistik (Brennweitenbereiche hätte ich mir anders gewünscht …):

screenshot_lr_data_plot.thumb.jpg.52cc9b061ad9e7195b4d99bf1751b3fd.jpg

Die Daten dieser Darstellung lassen sich auch als CSV-Datei abspeichern.

Man kann auch nach Belichtungszeit, Blende, ISO oder Lichtwert auswerten lassen.

bearbeitet von Subhash
Präzisierung
  • Danke 1

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Das Runden auf 5er-Schritte (oder wie man das nennen soll) mit bc hätte ich:

define round(x) {
scale=1
a=0.5
y=x/5+a
scale=0
return y/1*5
}

Aber wie ich das mit dem Exiftool-Befehl verbinde, weiß ich nicht:

exiftool -q -q -s -s -s -EXIF:FocalLength *.dng | sort -n | uniq -c

So wird’s ja nicht gehen:

round(exiftool -q -q -s -s -s -EXIF:FocalLength *.dng) | sort -n | uniq -c

 

bearbeitet von Subhash
Kortektur der Funktion zu 5er-Schritten

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 9 Stunden schrieb Subhash:

Das Runden auf 5er-Schritte (oder wie man das nennen soll) mit bc hätte ich:


define round(x) {
scale=1
a=0.5
y=x/5+a
scale=0
return y/1*5
}

Aber wie ich das mit dem Exiftool-Befehl verbinde, weiß ich nicht:


exiftool -q -q -s -s -s -EXIF:FocalLength *.dng | sort -n | uniq -c

So wird’s ja nicht gehen:


round(exiftool -q -q -s -s -s -EXIF:FocalLength *.dng) | sort -n | uniq -c

 

Nee, aber evtl. so:

Die Funktionsdefinition legst Du in einer Datei ab (z. B. ~/bc_round.bc) und an Deine Kommandozeile hängst du was dran:

exiftool -q -q -s -s -s -EXIF:FocalLength *.dng | sort -n | uniq -c | ( read n l u ; echo "round($l)" | bc -l ~/bc_round.bc )

Evtl. kannst Du die round-Funktion ja so gestalten, dass abhängig vom Argumnent die prozentuale Rundung (s. o.) durchgeführt wird...

 

  • Danke 1

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 58 Minuten schrieb Grinzold:

Evtl. kannst Du die round-Funktion ja so gestalten, dass abhängig vom Argumnent die prozentuale Rundung (s. o.) durchgeführt wird...

Das wäre dann der nächste Schritt.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 1 Stunde schrieb Grinzold:

exiftool -q -q -s -s -s -EXIF:FocalLength *.dng | sort -n | uniq -c | ( read n l u ; echo "round($l)" | bc -l ~/bc_round.bc )

Resultat:

Zitat

l: Undefined variable

(Gemeint ist der Kleinbuchstabe „l”.)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Die Ausgabe von

exiftool -q -q -s -s -s -EXIF:FocalLength *.dng

exiftool -q -q -s -s -s -EXIF:FocalLength *.dng

lautet übrigens

30.0 mm
50.0 mm
75.0 mm
etc.

Man müsste also „ mm” noch weglöschen (und nach dem Runden wieder anfügen). Da bin ich auch überfragt.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 28 Minuten schrieb Subhash:

Die Ausgabe von

exiftool -q -q -s -s -s -EXIF:FocalLength *.dng


exiftool -q -q -s -s -s -EXIF:FocalLength *.dng

lautet übrigens

30.0 mm
50.0 mm
75.0 mm
etc.

Man müsste also „ mm” noch weglöschen (und nach dem Runden wieder anfügen). Da bin ich auch überfragt.

Ha, mein olles exiftool gibt vor der Brennweite noch eine Ziffer aus. Also sollte der read-Befehle nur zwei Werte in Variablen einlesen: l und u.

exiftool -q -q -s -s -s -EXIF:FocalLength *.dng | sort -n | uniq -c | ( read l u ; echo "round($l)" | bc -l ~/bc_round.bc )

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Leider bleibt's bei

Zitat

l: Undefined variable

Kann (muss) man die vorher definieren? Wie? Vielleicht liegt’s an der Shell? Die ist bei mir tcsh. Ich habe da leider so gut wie keine Ahnung. Mit „man shell” habe ich nichts gefunden.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 21 Minuten schrieb Subhash:

Leider bleibt's bei

Kann (muss) man die vorher definieren? Wie? Vielleicht liegt’s an der Shell? Die ist bei mir tcsh. Ich habe da leider so gut wie keine Ahnung. Mit „man shell” habe ich nichts gefunden.

Oh, Mist... Das ist bash-spezifisch. Tip doch mal ein 'bash' ein und versuchs noch mal, mit 'exit' kommst Du ja jederzeit zur aufrufenden shell (tcsh) zurück.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Mit „bash” gibt’s keine Fehlermeldung mehr, aber die Ausgabe stimmt nicht.

exiftool -q -q -s -s -s -EXIF:FocalLength *.dng | sort -n | uniq -c

ergibt in einem Beispielverzeichnis:

   7 7.0 mm
   1 13.0 mm
   3 17.0 mm
   2 18.0 mm
   6 20.0 mm
   1 21.0 mm
   5 27.0 mm
   5 39.0 mm
   1 40.0 mm
   3 42.0 mm
   6 46.0 mm
   2 54.0 mm
   3 70.0 mm
   3 81.0 mm
   4 100.0 mm
   1 108.0 mm
   1 120.0 mm
   3 133.0 mm
   1 141.0 mm
   1 149.0 mm
   3 179.0 mm
   1 215.0 mm
   1 226.0 mm
  12 252.0 mm
   9 300.0 mm

und

exiftool -q -q -s -s -s -EXIF:FocalLength *.dng | sort -n | uniq -c | ( read l u ; echo "round($l)" | bc -l ~/Desktop/bc_round.bc )

mit der oben angeführten Funktion eine einzelne ganzzahlige Ziffer, nämlich „5”.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 46 Minuten schrieb Subhash:

Mit „bash” gibt’s keine Fehlermeldung mehr, aber die Ausgabe stimmt nicht.


exiftool -q -q -s -s -s -EXIF:FocalLength *.dng | sort -n | uniq -c

ergibt in einem Beispielverzeichnis:

   7 7.0 mm
   1 13.0 mm
   3 17.0 mm
   2 18.0 mm
   6 20.0 mm
   1 21.0 mm
   5 27.0 mm
   5 39.0 mm
   1 40.0 mm
   3 42.0 mm
   6 46.0 mm
   2 54.0 mm
   3 70.0 mm
   3 81.0 mm
   4 100.0 mm
   1 108.0 mm
   1 120.0 mm
   3 133.0 mm
   1 141.0 mm
   1 149.0 mm
   3 179.0 mm
   1 215.0 mm
   1 226.0 mm
  12 252.0 mm
   9 300.0 mm

und


exiftool -q -q -s -s -s -EXIF:FocalLength *.dng | sort -n | uniq -c | ( read l u ; echo "round($l)" | bc -l ~/Desktop/bc_round.bc )

mit der oben angeführten Funktion eine einzelne ganzzahlige Ziffer, nämlich „5”.

Jo, war natürlich nur mit einem File gecheckt; der Klammerausdruck muss dann so aussehen:

( while read l u ; do echo "round($l)" | bc -l ~/bc_round.bc; done )

 

  • Danke 1

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

  • Wer ist Online   0 Benutzer

    Keine registrierten Benutzer online.

×

Wichtige Information

Wir haben Cookies auf Ihrem Gerät platziert, um die Bedienung dieser Website zu verbessern. Sie können Ihre Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Sie damit einverstanden sind.