eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.rec.foto.cyfrowaSoft do statystyki ogniskowychRe: Soft do statystyki ogniskowych
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.atman.pl!not-for-mail
    From: Robert Gomulka <c...@e...pl>
    Newsgroups: pl.rec.foto.cyfrowa
    Subject: Re: Soft do statystyki ogniskowych
    Date: Mon, 28 Jun 2010 21:04:24 +0200
    Organization: ATMAN
    Lines: 68
    Message-ID: <i0arnp$btn$1@node1.news.atman.pl>
    References: <i0a95a$bun$1@inews.gazeta.pl>
    NNTP-Posting-Host: chello089072251188.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8Bit
    X-Trace: node1.news.atman.pl 1277751865 12215 89.72.251.188 (28 Jun 2010 19:04:25
    GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Mon, 28 Jun 2010 19:04:25 +0000 (UTC)
    User-Agent: KNode/0.10.9
    Xref: news-archive.icm.edu.pl pl.rec.foto.cyfrowa:860064
    [ ukryj nagłówki ]

    de Fresz wrote:

    [cut]
    W ramach wprawek Pythonowych prosty skrypt:
    #!/usr/bin/python
    # TODO - percentage counter
    # TODO - recursive traversal
    # TODO - error handling
    # TODO - values sorting
    # TODO - values formatting

    import pyexiv2
    import os
    import sys

    files = os.listdir(sys.argv[1])

    exposures = {}
    focals = {}
    isos = {}
    count = 0

    for jpeg in files:
    count += 1
    image = pyexiv2.Image(jpeg)
    image.readMetadata()
    expstr = str(image['Exif.Photo.ExposureTime'])
    if expstr in exposures:
    exposures[expstr] += 1
    else:
    exposures[expstr] = 1
    focstr = str(image['Exif.Photo.FocalLength'])
    if focstr in focals:
    focals[focstr] += 1
    else:
    focals[focstr] = 1
    isostr = str(image['Exif.Photo.ISOSpeedRatings'])
    if isostr in isos:
    isos[isostr] += 1
    else:
    isos[isostr] = 1

    print "Exposures"
    expkeys = exposures.keys()
    for expkey in expkeys:
    print expkey, exposures[expkey], "/", count

    print
    print "Focal lenghts"
    fockeys = focals.keys()
    for fockey in fockeys:
    print fockey, focals[fockey], "/", count

    print
    print "Iso values"
    isokeys = isos.keys()
    for isokey in isokeys:
    print isokey, isos[isokey], "/", count

    Brzydki, ale w podstawowej wersji w bardzo podstawowym zakresie działa :)
    Wymaga Pythona z bibliotekami. Wywołuje się go z jednym parametrem -
    katalogiem do przeanalizowania. Nie działa rekursywnie.

    Z pewnością na sieci znajdziesz lepsze implementacje, ta powstała wyłącznie
    jako ćwiczenie.

    Pozdrawiam,
    Robert

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: