Työkaluja EXIF-tietojen statistiikkaan

2 views
Skip to first unread message

Jomppa Koskinen

unread,
Jun 1, 2006, 4:18:06 AM6/1/06
to
Löytyisikö sopivia työkaluja kuvakirjaston (kuvat jaoteltu
hakemistoihin) kuvaustietojen statistiikan kaivamiseen? Lähinnä
kiinnostaisi kuvien lukumäärä esim. polttoväleittäin (tai -alueittain),
kameramalleittain, ISO-arvoittain ja aukoittain.

Äkkiähän tuon tietysti itsekin väsäisi.

--
Eteenpäin, oi rokkaavat punajuuret!

Simo Salanne

unread,
Jun 1, 2006, 4:49:57 AM6/1/06
to
Jomppa Koskinen wrote:
> Löytyisikö sopivia työkaluja kuvakirjaston (kuvat jaoteltu
> hakemistoihin) kuvaustietojen statistiikan kaivamiseen? Lähinnä
> kiinnostaisi kuvien lukumäärä esim. polttoväleittäin (tai -alueittain),
> kameramalleittain, ISO-arvoittain ja aukoittain.
>
> Äkkiähän tuon tietysti itsekin väsäisi.
>

Tuosta kun puukotat mieleisesi...

#!/usr/bin/perl -w
# usage: perl EXIFstats.pl tagname value
absolute_path_to_the_recursive_scan_start_directory]
#
# esim: perl EXIFstats.pl ISO 0 z:\kuvat
#

use strict;
use Image::ExifTool 'ImageInfo';
use File::Find;
use File::Basename;

my $cnt = 0;
my $sum;
my $exposuretime;
my $aperture;
my $focallength;

my $exifitem = $ARGV[0];
my $value = $ARGV[1];
shift;
shift;

print "\n\nLooking for $exifitem = $value\n";
print "============================\n";

sub findexiftag {
return unless $File::Find::name =~ /\.jpg$/i;
my $info = ImageInfo($File::Find::name);
if ( exists($info->{$exifitem}) ) {
$sum->{$info->{$exifitem}}++;
$exposuretime->{$info->{"ExposureTime"}}++;
$aperture->{$info->{"Aperture"}}++;
$focallength->{$info->{"FocalLength"}}++;

$cnt++;
my $temp = $info->{$exifitem};
if ($temp =~ /$value/) {
print basename($File::Find::name)." ";
print $info->{"ISOSetting"}."/";
print $info->{"ISO"}." ";
print $info->{"ExposureTime"}." ";
print $info->{"Aperture"}." ";
print $info->{"FocalLength"}.", ";
print $info->{"FocusDistance"}.", ";
print $info->{"FocusMode"}.", ";
print $info->{"AFPoint"}.", ";
print $info->{"ExposureProgram"}.", ";
print $info->{"MeteringMode"}.", ";
print "\n";
}
}
}
find(\&findexiftag, @ARGV);
print "\n\n$exifitem"." \n";
print "========================\n";
foreach (sort keys %$sum) {printf ("%-10s%6d %4.1f %%\n",
$_,$sum->{$_}, 100*$sum->{$_}/$cnt);}

print "\n\nExposureTime"." \n";
print "=======================\n";
foreach (sort keys %$exposuretime) {printf ("%-10s%6d %4.1f %%\n",
$_,$exposuretime->{$_}, 100*$exposuretime->{$_}/$cnt);}

print "\n\nAperture"." \n";
print "=======================\n";
foreach (sort keys %$aperture) {printf ("%-10s%6d %4.1f %%\n",
$_,$aperture->{$_}, 100*$aperture->{$_}/$cnt);}

print "\n\nFocallength"." \n";
print "=======================\n";
foreach (sort keys %$focallength) {printf ("%-10s%6d %4.1f %%\n",
$_,$focallength->{$_}, 100*$focallength->{$_}/$cnt);}


print "\n\nTotal ".$cnt." JPEG Files \n";
print "=======================\n";


Markus Lehto

unread,
Jun 1, 2006, 11:24:04 AM6/1/06
to
Jomppa Koskinen wrote:
> Löytyisikö sopivia työkaluja kuvakirjaston (kuvat jaoteltu
> hakemistoihin) kuvaustietojen statistiikan kaivamiseen?

Näppärä voisi olla myös koodinpätkä, joka piirtää graafin
päivämäärittäin otetuista kuvista. Eli x-akselilla päivät, y-akselilla
määrät (kpl/päivä). Löytyykö?

Jälleen kerran olisi kai helppo itsekin väkertää tekstidataa tuottava
skripti ja graafi vaikka exelillä, mutta... :)

--
-Markus Lehto

Simo Salanne

unread,
Jun 1, 2006, 12:51:55 PM6/1/06
to
Markus Lehto wrote:
> Jomppa Koskinen wrote:
>
>> Löytyisikö sopivia työkaluja kuvakirjaston (kuvat jaoteltu
>> hakemistoihin) kuvaustietojen statistiikan kaivamiseen?
>
>
> Näppärä voisi olla myös koodinpätkä, joka piirtää graafin
> päivämäärittäin otetuista kuvista. Eli x-akselilla päivät, y-akselilla
> määrät (kpl/päivä). Löytyykö?
>

Photoshop Elements V3:ssa on tuollainen histogramminäyttö. Kai
nelosessakin, jota en ole nähnyt/kokeillut.

Simo S.

Markus Lehto

unread,
Jun 1, 2006, 1:54:15 PM6/1/06
to
Simo Salanne wrote:
> Photoshop Elements V3:ssa on tuollainen histogramminäyttö. Kai
> nelosessakin, jota en ole nähnyt/kokeillut.

Kuulostaa melko raskaalta ratkaisulta... Ja kalliiltakin vielä,
verrattuna skripteihin. Mutta kiitän tiedosta.

--
-Markus Lehto

Simo Salanne

unread,
Jun 1, 2006, 2:07:14 PM6/1/06
to
Markus Lehto wrote:

En tarkoittanutkaan että hankkisit PSE:n pelkästään tuon näytön takia,
mutta PSE:ssä on paljon muutakin hyvää. Tuosta postaamastani skriptistä
saa helposti version, joka tulostaa kuvauspäivämääriä ja kuvattujen
kuvien lukumääriä.

Simo S.

Jomppa Koskinen

unread,
Jun 5, 2006, 3:16:25 AM6/5/06
to
Markus Lehto <mal...@POISTAutu.fi> writes:

> Jomppa Koskinen wrote:
> > Löytyisikö sopivia työkaluja kuvakirjaston (kuvat jaoteltu
> > hakemistoihin) kuvaustietojen statistiikan kaivamiseen?
>

> Jälleen kerran olisi kai helppo itsekin väkertää tekstidataa tuottava
> skripti ja graafi vaikka exelillä, mutta... :)
>

Itse ajattelin tuota tänne lähetettyä skriptiä muokata ehkäpä myös
tuohon suuntaan (vaikka PSE minulla onkin). Ainakin tilastot
"kameroittain" (esim. polttovälitilasto täytyy olla kamerakohtainen)
yms. pitää tuohon lisätä. Onneksi näytti tuo koodi hyvin helposti
laajennettavalta.

Simo Salanne

unread,
Jun 5, 2006, 7:15:47 AM6/5/06
to
Jomppa Koskinen wrote:
> Onneksi näytti tuo koodi hyvin helposti
> laajennettavalta.
>

Kuvatiedostossa olevien EXIF-tagien nimet löytää tällä:

#!/usr/bin/perl -w
use Image::ExifTool 'ImageInfo';
my $file = shift or die "Please specify filename";
my $info = ImageInfo($file);
foreach ( sort keys %$info) {
print "$_ : $info->{$_}\n";
}

salone

unread,
Jun 6, 2006, 3:35:32 AM6/6/06
to
Tämmöinenkin on:
http://www.exiv2.org/
Tosin en ole niin paljon perehtynyt että pystyykö se statiikkaan


Jomppa Koskinen kirjoitti:

Jomppa Koskinen

unread,
Jun 7, 2006, 7:21:55 AM6/7/06
to
Simo Salanne <Etunimi....@silppuri.iki.fi.invalid> writes:

> Jomppa Koskinen wrote:
> > Onneksi näytti tuo koodi hyvin helposti
> > laajennettavalta.
> >
>
> Kuvatiedostossa olevien EXIF-tagien nimet löytää tällä:

Kiitos vain valmiista pätkästä (joka näemmä on myös exiftoolin
kotisivulla, kun tarkemmin katsoo), vaikka olen kyllä itsekin perliä
koodannut.

Tuon ExifTool-paketin mukana tulee joku komentorivihärpäke, jolla
noita tageja voi tietty myös katsoa.

Cygwinin asennuksessakin on vastaava paketti (exif)

Simo Salanne

unread,
Jun 7, 2006, 3:41:19 PM6/7/06
to
Jomppa Koskinen wrote:

>
> Kiitos vain valmiista pätkästä (joka näemmä on myös exiftoolin
> kotisivulla, kun tarkemmin katsoo), vaikka olen kyllä itsekin perliä
> koodannut.
>

mä en oo mitään itse "keksinyt" -- prujaaminen ja koodin kierrätys on
"kustannustehokasta" =d

Simo S.

Reply all
Reply to author
Forward
0 new messages