-
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
Następne wpisy z tego wątku
- 28.06.10 19:12 de Fresz
- 28.06.10 19:54 Mikolaj Machowski
- 29.06.10 14:16 de Fresz
- 30.06.10 16:40 JA
- 01.07.10 09:12 de Fresz
- 01.07.10 14:55 JA
Najnowsze wątki z tej grupy
- Tradycyjnie pod koniec roku
- Affinity Studio za darmo
- Aparatu szukam
- AI i odnawianie / koloryzowanie starych zdjęć
- Tadeusz Rolke RIP
- Samsung A12 - po co 4 obiektywy ?
- Trochę NTG - Vegas Pro
- Nikon D5500 i wyzwalanie migawki
- Canon 550D
- EOS 600D i balans bieli w filmach
- EOS 90D i sentymenty
- Skanowanie: Canon MG2550S vs HP OfficeJet 6950
- czas exif a czas modyfikacji pliku
- karta SD po formacie odzyskiwanie zdjęć i filmów
- Chess
Najnowsze wątki
- 2025-12-27 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-12-27 Ewakuacja ludności
- 2025-12-26 Gdańsk => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-12-26 Kraków => Konsultant Microsoft Dynamics 365 Finance <=
- 2025-12-26 Kraków => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-26 wymieniłem termostat
- 2025-12-26 Warszawa => Senior Backend Java Developer <=
- 2025-12-25 Finlandia przywraca swastykę
- 2025-12-25 Skuteczność wymiaru sprawiedliwości
- 2025-12-24 Felgi
- 2025-12-24 2,5 x więcej niż Li-Ion
- 2025-12-24 No i kolejny ograniczony
- 2025-12-24 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-12-24 New York Times zagrożeniem bezpieczeństwa narodowego USA - POTUS D. Trump
- 2025-12-24 Podżeganie?




7 pułapek i okazji - zobacz co cię czeka podczas kupna mieszkania na wynajem