WERBUNG

EXIF-Statistiken mit Linux

einfach in den betreffenden Ordner wechseln und von dort das Script aufrufen.
Die Files werden dann in dem entsprechenden Ordner gespeichert.

Wenn man lustig ist, kann man das für jedes Verzeichnis machen.
Ich hab zb auch alle Tierbilder in einem Ordner.
Da kommt dann raus, dass ich die meisten Fotos mit 300mm gemacht habe und meist Offenblende (absehbar)

lg
Michael
 
Ja, genau deshalb möchte ich ja, dass alle Bilder in einer Exifs.txt berücksichtigt werden :) Um mal einen kompletten Überblick zu haben.

EDIT: Das untersucht ja schon Unterordner :D Also vielen Dank, sehr praktisch!
 
Zuletzt bearbeitet:
Habe dieses Script soeben ausprobiert. Die Datei "Exifs.txt" wird korrekt erzeugt und mit unterschiedlichem Inhalt versehen (siehe Beispiel).

0.00313 13 18.0
0.01667 13 63.0
0.00500 13 18.0
0.01250 13 28.0
0.00400 13 18.0
0.00500 13 36.0
0.01000 13 18.0
0.00625 8 32.0
0.01250 13 22.0
0.01667 13 97.0
0.00200 4 25.0


In den erzeugten Grafiken findet sich aber nur der erste Eintrag wieder. Wo könnte hier das Problem liegen. Ich habe dieses mit RAW- und JPG-Dateien ausprobiert.
 
Hallo TomiXNet,

Kannst du mir bitte ein paar Fragen beantworten:
Wie viele Einträge sind in dem File?
Hast du das Problem bei jedem Verzeichnis, oder "nur" bei sehr großen?

Mir ist mal aufgefallen (beim coden) dass ein leeres Verzeichnis Probleme verursacht hatte. Nach dem Löschen eben dieses, war das Problem behoben.

Wie gesagt: gehts bei einem Unterverzeichnis?

Werd versuchen, das Problem zu reproduzieren.

lg,
Michael
 
Hallo TomiXNet,

Kannst du mir bitte ein paar Fragen beantworten:
Wie viele Einträge sind in dem File?
Hast du das Problem bei jedem Verzeichnis, oder "nur" bei sehr großen?

Mir ist mal aufgefallen (beim coden) dass ein leeres Verzeichnis Probleme verursacht hatte. Nach dem Löschen eben dieses, war das Problem behoben.

Wie gesagt: gehts bei einem Unterverzeichnis?

Werd versuchen, das Problem zu reproduzieren.

lg,
Michael
Das Problem ist mittlerweile gelöst.

Hatte es bei einem Verzeichnis (ca. 30 RAW-Dateien) getestet und dieses Problem gehabt. Wie ich nun festestellen musste, trat dieses Problem aber NUR bei diesem Verzeichnis auf.

Nun habe ich das Script an einigen hundert RAW's mit Erfolg testen können. Wirklich ein nützliches Werkzeug.
 
Ah OK,

Also doch ein Verzeichnis "schuld".
Jetzt wärs noch interessant zu wissen, warum das geschieht :grumble:

Aber vielleicht find ichs ja raus.

Schön, dass es nützlich ist.

Michael
 
Ah OK,

Also doch ein Verzeichnis "schuld".
Jetzt wärs noch interessant zu wissen, warum das geschieht :grumble:

Aber vielleicht find ichs ja raus.

Schön, dass es nützlich ist.

Michael

Das war der Inhalt der Datei Exifs.txt (hier auszugsweise).

0.00313 13 18.0
0.01667 13 63.0
0.00500 13 18.0
0.01250 13 28.0
0.00400 13 18.0
0.00500 13 36.0
0.01000 13 18.0
0.00625 8 32.0
0.01250 13 22.0
0.01667 13 97.0
0.00200 4 25.0

Wie man sieht, sind die extrahierten Ergebnisse verschieden und nicht alles 18mm wie in der Grafik. Also denke ich mal, müsste der Fehler zwischen dieser Datei und Gnuplot auftreten sein.

Etwas hat die Analyse meiner Fotos aus dem letzten Jahr gebracht: Ich bewege mich hauptsächlich im Bereich zwischen 20mm und 65mm :)
 
Werd mir die Daten mal anschaun, wenn ich Zeit hab.
Sollte ja zu reproduzieren sein.

Meine Statistik sagt mir, dass ich bei den Zooms meist am Anschlag unterwegs bin ;)

Meine (einzige) Festbrennweite ist aber auch oft im Einsatz :)

lg,
Michael
 
Das war der Inhalt der Datei Exifs.txt (hier auszugsweise).

0.00313 13 18.0
0.01667 13 63.0
0.00500 13 18.0
0.01250 13 28.0
0.00400 13 18.0
0.00500 13 36.0
0.01000 13 18.0
0.00625 8 32.0
0.01250 13 22.0
0.01667 13 97.0
0.00200 4 25.0

Wie man sieht, sind die extrahierten Ergebnisse verschieden und nicht alles 18mm wie in der Grafik. Also denke ich mal, müsste der Fehler zwischen dieser Datei und Gnuplot auftreten sein.

Etwas hat die Analyse meiner Fotos aus dem letzten Jahr gebracht: Ich bewege mich hauptsächlich im Bereich zwischen 20mm und 65mm :)

OK, kanns mit diesen Daten reproduzieren.

Mal schauen, was es da hat. Irgendwas passt Gnuplot da nicht.

lg
Michael
 
Hi @ all,

'set autoscale' hat nicht so funktioniert, wie gedacht... :grumble:

Hier das gefixte Script in deutsch:

Code:
for i in `find . -iname '*.jpg'` ;do exiv2 pr $i 2>/dev/null | awk '{count = 0} { if ( $1 == "Brennweite"){if ($3 > 1.0) {printf $3; printf(" "); count++}}} {if ( $1 == "Belichtungszeit") { split($3, a, "/"); if (a[2]==""){a[2] = 1} $3=sprintf("%8.5f",a[1]/a[2]); printf $3 ; printf(" "); count++}}  {if ($1 == "Blende") {sub("F",""); printf $3; printf(" "); count++}} {if (count == 3) {printf("\n")}} END {if (count !=3)  {printf("\n")}  }' ;done > Exifs.txt


gnuplot -e "set size ratio 0.5; 
set style data histogram; 
set style fill solid border -1; 
set boxwidth 2 absolute; 
set tics out; 
set tics scale 5,2; 
set mxtics 5; 
set mytics 2; 
set grid x y; 
set xlabel 'Brennweite';
set ylabel '# Pics';
set terminal png  20;
set output 'Brennweite.png' ; 
set yrange [0:9999999];              
set autoscale yfixmin;
set autoscale ymax;
plot 'Exifs.txt' using (\$3):(1) title '' smooth frequency with boxes; 

set output 'Verschlusszeiten.png'; 
set size ratio 0.4;
set style data histogram;
set style fill solid border -1;
set boxwidth 0.05 absolute;
set tics out;
set tics scale 2,1;
set xtics rotate by -90;
set grid x y;
set xlabel 'Verschlusszeit';
set ylabel '# Pics';
set terminal png  10;
set xrange [0.000125:60];
set logscale x;
set xtics ('1/8000' 0.000125, '1/6000' 0.00016, '1/4000' 0.00025, '1/3000' 0.00033, '1/2000' 0.0005, '1/1500' 0.00066, '1/1000' 0.001, '1/750' 0.00133, '1/500' 0.002, '1/350' 0.00285, '1/250' 0.004, '1/200' 0.005, '1/125' 0.008, '1/90' 0.01111, '1/60' 0.01666, '1/45' 0.02222, '1/30' 0.03333, '1/20' 0.05, '1/15' 0.06666, '1/10' 0.1, '1/8' 0.125, '1/6' 0.16666, '1/4' 0.25,'1/3' 0.33333,'1/2' 0.5,'0.7' 0.7,'1' 1,'2' 2,'4' 4,'5' 5,'8' 8,'10' 10,'15' 15,'20' 20,'25' 25,'30' 30, '40' 45,'45' 45,'64' 64); 
plot 'Exifs.txt' using (\$1):(1) title '' smooth frequency with boxes; 

set xrange [1:64];
set size ratio 0.4; 
set style data histogram; 
set style fill solid border -1; 
set boxwidth 0.01 absolute; 
set tics out; 
set tics scale 2,1; 
set xtics rotate by -45;
set mxtics 1; 
set mytics 2; 
set grid x y; 
set xlabel 'Blende';
set ylabel '# Pics';
set terminal png  10; 
set output 'Blenden.png'; 
set xtics ('1' 1,'1,1' 1.1, '1,2' 1.2,'1,3' 1.3,'1,4' 1.4,'1,6' 1.6,'1,7' 1.7,'1,8' 1.8,'2' 2,'2,2' 2.2,'2,5' 2.5,'2,8' 2.8,'3,2' 3.2,'3,5' 3.5,'4' 4,'4,5' 4.5,'4,8' 4.8,'5' 5,'5,6' 5.6,'6,3' 6.3,'6,7' 6.7,'7,1' 7.1,'8' 8,'9' 9,'10' 10,'11' 11,'13' 13,'14' 14,'16' 16,'18' 18,'20' 20,'22' 22,'32' 32,'45' 45,'64' 64); 
set logscale x;
plot 'Exifs.txt' using (\$2):(1) title '' smooth frequency with boxes;"



und hier die englische Version:

Code:
for i in `find . -iname '*.jpg'` ;do exiv2 pr $i 2>/dev/null | awk '{count = 0} { if ( $1 == "Focal"){if ($4 > 9.0) {printf $4; printf(" "); count++}}} {if ( $1 == "Exposure") {if ($2 == "time") { split($4, a, "/"); if (a[2]==""){a[2] = 1} $4=sprintf("%8.5f",a[1]/a[2]); printf $4 ; printf(" "); count++}} } {if ($1 == "Aperture") {sub("F",""); printf $3; printf(" "); count++}} {if (count == 3) {printf("\n")}} END {if (count !=3)  {printf("\n")}  }' ;done > Exifs.txt


gnuplot -e "set size ratio 0.5; 
set style data histogram; 
set style fill solid border -1; 
set boxwidth 2 absolute; 
set tics out; 
set tics scale 5,2; 
set mxtics 5; 
set mytics 2; 
set grid x y; 
set xlabel 'Focal length';
set ylabel '# Pics';
set terminal png  20;
set output 'Focal_length.png' ; 
set yrange [0:999999]; 
set autoscale yfixmin;
set autoscale ymax;
plot 'Exifs.txt' using (\$3):(1) title '' smooth frequency with boxes; 

set output 'Exposure.png'; 
set size ratio 0.4;
set style data histogram;
set style fill solid border -1;
set boxwidth 0.05 absolute;
set tics out;
set tics scale 2,1;
set xtics rotate by -90;
set grid x y;
set xlabel 'Exposure';
set ylabel '# Pics';
set terminal png  10;
set xrange [0.000125:60];
set logscale x;
set xtics ('1/8000' 0.000125, '1/6000' 0.00016, '1/4000' 0.00025, '1/3000' 0.00033, '1/2000' 0.0005, '1/1500' 0.00066, '1/1000' 0.001, '1/750' 0.00133, '1/500' 0.002, '1/350' 0.00285, '1/250' 0.004, '1/200' 0.005, '1/125' 0.008, '1/90' 0.01111, '1/60' 0.01666, '1/45' 0.02222, '1/30' 0.03333, '1/20' 0.05, '1/15' 0.06666, '1/10' 0.1, '1/8' 0.125, '1/6' 0.16666, '1/4' 0.25,'1/3' 0.33333,'1/2' 0.5,'0.7' 0.7,'1' 1,'2' 2,'4' 4,'5' 5,'8' 8,'10' 10,'15' 15,'20' 20,'25' 25,'30' 30, '40' 45,'45' 45,'64' 64); 
plot 'Exifs.txt' using (\$1):(1) title '' smooth frequency with boxes; 

set xrange [1:64];
set size ratio 0.4; 
set style data histogram; 
set style fill solid border -1; 
set boxwidth 0.01 absolute; 
set tics out; 
set tics scale 2,1; 
set xtics rotate by -45;
set mxtics 1; 
set mytics 2; 
set grid x y; 
set xlabel 'Aperture';
set ylabel '# Pics';
set terminal png  10; 
set output 'Aperture.png'; 
set xtics ('1' 1,'1,1' 1.1, '1,2' 1.2,'1,3' 1.3,'1,4' 1.4,'1,6' 1.6,'1,7' 1.7,'1,8' 1.8,'2' 2,'2,2' 2.2,'2,5' 2.5,'2,8' 2.8,'3,2' 3.2,'3,5' 3.5,'4' 4,'4,5' 4.5,'4,8' 4.8,'5' 5,'5,6' 5.6,'6,3' 6.3,'6,7' 6.7,'7,1' 7.1,'8' 8,'9' 9,'10' 10,'11' 11,'13' 13,'14' 14,'16' 16,'18' 18,'20' 20,'22' 22,'32' 32,'45' 45,'64' 64); 
set logscale x;
plot 'Exifs.txt' using (\$2):(1) title '' smooth frequency with boxes;"


blablubla muss jedoch das Script noch ändern (Option -e bei Gnuplot... siehe weiter oben).

Ich hoffe, es passt jetzt bei allen.
LG,
Michael
 
Hi Fr4ggle,

interessantes Script. Ich hab die "for"-Schleife noch in "while" umgebaut und das $i in "" gestellt, damit auch Filenamen mit Leerzeichen verarbeitet werden:

find . -iname '*.jpg' | while read i ;do exiv2 pr "$i" 2>/dev/null | awk '{count ...

Wenn man auch Windowsuser auf dem Share hat, ist das ganz nützlich :D

Gruss, Klaus
 
läuft einwandfrei:

$ time /local/bin/pictstat.sh

real 12m40.864s
user 3m53.623s
sys 3m9.688s

$ wc -l Exifs.txt
23506 Exifs.txt

Also 23.506 Raw Bilder (ich such nach *.cr2) in knapp 13 Minuten.

Weisst jemand, wie und ob man das verwendete Objektiv mit exiv2 rausbekommt ? Mit exiftool ist es "Lens" bzw. "LensID". Damit könnten man dann die am häufigsten eingesetzte Linse oder auch den nächsten Kandidaten für die Vitrine ermitteln.

Gruss und nochmal vielen Dank für das nützliche Script
Klaus
 
Hallo wiesenbiber,

freut mich, dass es auch andere benutzen.

Danke für den Code. Auf die Tatsache dass es auch Bilder mit Leerzeichen geben könnte, bin ich noch gar nicht gekommen :rolleyes:

Der exif2 Aufruf zeigt hier nur die wichtigsten Elemente.
Offenbar gibt es aber auch eine Möglichkeit den Objektivnamen herauszufinden:

EXIV2API ExifData::const_iterator lensName (const ExifData &ed)
Return the name of the lens used.

Wenn man exif2 mit einem anderen Parameter aufruft, bekommt man auch eine längere (schwieriger zu lesende) Liste.
Sitz aber selber gerade vor Win......

lg
Michael
 
Hallo Michael,

Hallo wiesenbiber,

freut mich, dass es auch andere benutzen.

Danke für den Code. Auf die Tatsache dass es auch Bilder mit Leerzeichen geben könnte, bin ich noch gar nicht gekommen :rolleyes:

Naja - die Kinder wollen halt als Spielzeug lieber Windows benutzen - was soll man machen ...

Der exif2 Aufruf zeigt hier nur die wichtigsten Elemente.
Offenbar gibt es aber auch eine Möglichkeit den Objektivnamen herauszufinden:



Wenn man exif2 mit einem anderen Parameter aufruft, bekommt man auch eine längere (schwieriger zu lesende) Liste.

Hmm, doch mal die man page genauer lesen oder sonst halt auf exiftool umstellen. Vielen Dank für den Hinweis.

Sitz aber selber gerade vor Win......

Du Armer ;)

Gruss und schönen Abend
Klaus
 
Hi,
Hab mir mal exif2 genauer angeschaut

Docu:
Exif.Image.LensInfo Rational Contains information about the lens that captured the image.

Code:
exiv2 -p t DSC05363.JPG
zeigt mir leider kein entsprechendes Tag :(
Ev. findet man auch bei den Herstellerspezifischen Tags was (da heißt es raten :ugly:

Exif.Photo.MakerNote Undefined 24480 (Binäre Werte sind unterdrückt)
Exif.MakerNote.Offset Long 1 980
Exif.MakerNote.ByteOrder Ascii 3 II
Exif.Sony.0x0010 Undefined 368 (Binäre Werte sind unterdrückt)
Exif.Sony.0x0018 Undefined 4096 (Binäre Werte sind unterdrückt)
Exif.Sony.0x0020 Undefined 19148 (Binäre Werte sind unterdrückt)
Exif.Sony.0x0102 Long 1 5
Exif.Sony.0x0104 SRational 1 0/10
Exif.Sony.0x0105 Long 1 0
Exif.Sony.0x0112 Long 1 0
Exif.Sony.0x0114 Undefined 280 (Binäre Werte sind unterdrückt)
Exif.Sony.0x0115 Long 1 0
Exif.Sony.0x2000 Undefined 1 0
Exif.Sony.0x2001 Undefined 0
Exif.Sony.0x2002 Long 1 0
Exif.Sony.0x2003 Ascii 256
Exif.Sony.0x2008 Long 1 4294901761
Exif.Sony.0xb027 Long 1 51
Exif.Sony.0xb02a Byte 8 1 0 22 1 5 53 86 0
 
hmmm, raten ist mir bei der Programmierung dann doch nicht so recht. exiftool sieht da doch vielversprechender aus. Mal sehen, wann die Zeit zur Umstellung reicht.

Gruss, Klaus
 
Ich möchte hier mal meine Version des Scripts vorstellen, nachdem ich sie heute überarbeitet habe und ein wenig Code von Fr4ggle geliehen habe (die plots) Es sammelt zusätzlich zu den Histogrammen noch einige Statistiken in .txt Dateien. Das ganze ist ausgelegt auf CR2 Raws (Canon) ich denke aber es kann relativ einfach adaptiert werden.

Zur Geschwindigkeitssteigerung laufen 8 exiftool Prozesse parallel. Das kann in Zeile 13 geändert werden.

mfg sph

Code:
#!/bin/bash
#EXIF statistics script by spoilerhead 2009-2010
rm imgdatap.txt
find . -iname '*.CR2' |sort | while read FILE
do
  echo $FILE

    LANGUAGE=C exiftool -ExposureTime -Aperture -FocalLength -ISO -Lensid -Flash -FocusMode -MeteringMode -AFMode -ShootingMode "$FILE" >>imgdatap.txt &
    
    
    #process in batches
    NPROC=$(($NPROC+1))
	    if [ "$NPROC" -ge 8 ]; then
	        wait
	        NPROC=0
    fi
done
#wait for all processes to finish
wait

cat imgdatap.txt  |grep Exposure.*: |cut --delimiter=: -f2 |awk '{ split($1, a, "/"); if (a[2]==""){a[2] = 1} $1=sprintf("%8.5f",a[1]/a[2]); printf $1; printf"\n"}' > d_exp.txt
#replace infinity aperture with 64 (unknown)
cat imgdatap.txt  |grep Aperture.*: |cut --delimiter=: -f2 |sed s#inf#64#g > d_apr.txt
#replace 0.0 with 8.0 (my samyang fisheye)
cat imgdatap.txt  |grep Focal.*:    |cut --delimiter=: -f2 |sed -e "s# ##g" -e "s#mm##g" -e "s#^0.0#8.0#g" > d_focal.txt 
cat imgdatap.txt  |grep ISO.*:      |cut --delimiter=: -f2 > d_iso.txt
cat imgdatap.txt  |grep Lens.*:     |cut --delimiter=: -f2 > d_lens.txt
cat imgdatap.txt  |grep Flash.*:    |cut --delimiter=: -f2 > d_flash.txt
cat imgdatap.txt  |grep Focus.*:    |cut --delimiter=: -f2 > d_focus.txt
cat imgdatap.txt  |grep Metering.*: |cut --delimiter=: -f2 > d_meter.txt
cat imgdatap.txt  |grep AF.*:       |cut --delimiter=: -f2 > d_af.txt
cat imgdatap.txt  |grep Shooting.*: |cut --delimiter=: -f2 > d_shoot.txt


echo evaluating ...
mkdir eval
cat d_iso.txt|cut -f2 --delimiter=: |sort |uniq -c >eval/iso_stats.txt
cat d_lens.txt|cut -f2 --delimiter=: |sort |uniq -c >eval/lens_stats.txt
lc=`cat d_lens.txt |wc -l`
echo $lc Total >>eval/lens_stats.txt
cat d_flash.txt|cut -f2 --delimiter=: |sort |uniq -c >eval/flash_stats.txt
cat d_focus.txt|cut -f2 --delimiter=: |sort |uniq -c >eval/focus_stats.txt
cat d_meter.txt|cut -f2 --delimiter=: |sort |uniq -c >eval/lens_meter.txt
cat d_af.txt|cut -f2 --delimiter=: |sort |uniq -c >eval/af_stats.txt
cat d_shoot.txt|cut -f2 --delimiter=: |sort |uniq -c >eval/shoot_stats.txt


echo plotting...

gnuplot -e "set size ratio 0.5; 
set style data histogram; 
set style fill solid border -1; 
set boxwidth 2 absolute; 
set tics out; 
set tics scale 5,2; 
set mxtics 5; 
set mytics 2; 
set grid x y; 
set xlabel 'Focal length';
set ylabel '# IMG';
set terminal png  20 size 1024,512;
set output 'eval/focal.png' ; 
set autoscale; 
plot 'd_focal.txt' using (\$1):(1) title '' smooth frequency with boxes; 

set output 'eval/shutter.png'; 
set size ratio 0.4;
set style data histogram;
set style fill solid border -1;
set boxwidth 0.05 absolute;
set tics out;
set tics scale 2,1;
set xtics rotate by -90;
set grid x y;
set xlabel 'Shutter speed';
set ylabel '# IMG';
set terminal png  10 size 1024,512;
set xrange [0.000125:60];
set logscale x;
set xtics ('1/8000' 0.000125, '1/6000' 0.00016, '1/4000' 0.00025, '1/3000' 0.00033, '1/2000' 0.0005, '1/1500' 0.00066, '1/1000' 0.001, '1/750' 0.00133, '1/500' 0.002, '1/350' 0.00285, '1/250' 0.004, '1/200' 0.005, '1/125' 0.008, '1/90' 0.01111, '1/60' 0.01666, '1/45' 0.02222, '1/30' 0.03333, '1/20' 0.05, '1/15' 0.06666, '1/10' 0.1, '1/8' 0.125, '1/6' 0.16666, '1/4' 0.25,'1/3' 0.33333,'1/2' 0.5,'0.7' 0.7,'1' 1,'2' 2,'4' 4,'5' 5,'8' 8,'10' 10,'15' 15,'20' 20,'25' 25,'30' 30, '40' 45,'45' 45,'64' 64); 
plot 'd_exp.txt' using (\$1):(1) title '' smooth frequency with boxes; 

set xrange [1:65];
set size ratio 0.4; 
set style data histogram; 
set style fill solid border -1; 
set boxwidth 0.01 absolute; 
set tics out; 
set tics scale 2,1; 
set xtics rotate by -45;
set mxtics 1; 
set mytics 2; 
set grid x y; 
set xlabel 'Aperture';
set ylabel '# IMG';
set terminal png  10 size 1024,512; 
set output 'eval/aperture.png'; 
set xtics ('1' 1,'1.1' 1.1, '1.2' 1.2,'1.3' 1.3,'1.4' 1.4,'1.6' 1.6,'1.7' 1.7,'1.8' 1.8,'2' 2,'2.2' 2.2,'2.5' 2.5,'2.8' 2.8,'3.2' 3.2,'3.5' 3.5,'4' 4,'4.5' 4.5,'4.8' 4.8,'5' 5,'5.6' 5.6,'6.3' 6.3,'6.7' 6.7,'7.1' 7.1,'8' 8,'9' 9,'10' 10,'11' 11,'13' 13,'14' 14,'16' 16,'18' 18,'20' 20,'22' 22,'32' 32,'45' 45,'unknown' 64); 
set logscale x;
plot 'd_apr.txt' using (\$1):(1) title '' smooth frequency with boxes;"


rm imgdatap.txt d_exp.txt d_apr.txt d_focal.txt d_iso.txt d_lens.txt d_flash.txt d_focus.txt d_meter.txt d_af.txt d_shoot.txt
echo done!
 
Hallo zusammen,

erst einmal Danke schön, für solch ein Tool. Eine wirklich gute Idee! Ich hatte schon einmal "ExposurePlot" angetestet, allerdings mangelt es an der Unterstützung für RAW Files.

Nun meine Frage: Hat schon mal jemand erfolgreich das Script unter Windows mit CygWin getestet? Ich bin bis GnuPlot gekommen, allerdings komme ich hier nicht weiter.

Code:
$ gnuplot "set size ratio 0.5;
set style data histogram;
set style fill solid border -1;
set boxwidth 2 absolute;
set tics out;
set tics scale 5,2;
set mxtics 5;
set mytics 2;
set grid x y;
set xlabel 'Focal length';
set ylabel '# IMG';
set terminal png  20 size 1024,512;
set output '/cygdrive/f/focal.jpg' ;
set autoscale;
plot '/cygdrive/f/dfocal.txt' using (\$1):(1) title '' smooth frequency with bo
xes;

"
Cannot open load file 'set size ratio 0.5;
set style data histogram;
set style fill solid border -1;
set boxwidth 2 absolute;
set tics out;
set tics scale 5,2;
set mxtics 5;
set mytics 2;
set grid x y;
set xlabel 'Focal length';
set ylabel '# IMG';
set terminal png  20 size 1024,512;
set output '/cygdrive/f/focal.jpg' ;
set autoscale;
plot '/cygdrive/f/dfocal.txt' using ($1):(1) title '' smooth frequency with boxe
s;

'
line 0: util.c: No such file or directory
Wie zu sehen habe ich die Pfade zu den Dateien ohne Sonderzeichen angegeben und sie liegen direkt im Root des Laufwerks. Ich habe auch so weit es Sinn macht, die gängigen Pakte (z.B. GD, PNGlibs) nach geladen und Exiftools manuell aktualisiert (aber an Exiftools liegt es nicht).

Über Tipps wäre ich natürlich dankbar.


Vielen Dank und viele Grüße
Christian
 
AW: Wie viele Bilder mit Brennweite x?

Unten stehender Code erzeugt 3 Diagramme (Verteilung von Brennweite, Blende und Verschlusszeit) aus allen JPG's aus allen Unterverzeichnissen.

Statt 'jpg' kann natürlich auch RAW, ARW, oder was auch immer Exif-Daten enthält durchsucht werden.

Moin!

klappt das auch mit DNG?

Gruß,
Hafer
 
WERBUNG
Zurück
Oben Unten